Keg的身份验证视图

KegLogin的Python项目详细描述


…默认角色::代码
…角色::python(代码)
:语言:python图片::https://circleci.com/gh/level12/keg-login.svg?style=svg
:目标:https://circleci.com/gh/level12/keg login

…图片::https://codecov.io/github/level12/keg-login/coverage.svg?branch=master
:目标:https://codecov.io/github/level12/keg-login?分支=主

…_ Keg:https://pypi.python.org/pypi/keg


Keg嫒应用程序中用于用户登录和密码管理的基本视图和表单。


usage
**



有5个基本视图允许用户登录,注销并设置其密码。

*登录
*注销
*更改密码
*放弃密码
*重置密码

在应用程序中使用这些视图,子类化适当的视图
,它包含"responder"类并实现纯虚拟方法。


您可以通过在"我的应用程序"下创建
适当命名的模板来覆盖这些视图使用的模板。/templates/keg login/`or
重写"responder"子类中的"template"


示例
==


…代码::python

from keg import keg
from keg-login.ext import keglogin
from keg-login import views

keglogin(app)

class forgotpassword(views.forgotpassword):
class responder(views.forgotpassword.responder):
def request_password_reset(self,email):
generate_token_and_send_email(email)


templates
==


keg login充分利用了一个名为macros的强大jinja2功能。它们允许keg登录的
用户只覆盖一部分功能或设计,而不需要进行大量工作。方法如下:

安装keg登录后,在应用程序的模板文件夹中创建一个"keg login"文件夹。



围绕
登录视图。keg login只希望"base.html"在该文件中的某个地方公开
a``block main`。例如…

…代码:

{%扩展您的-master-template.html%}

{{{};此块可以在您的-master-template.html中定义
{%block content%}
{%block main%}{%endblock%}
{%endblock%}


keg login现在将使用主模板作为身份验证的基础。视图。



覆盖keg登录表单呈现(使用宏系统)
---------------------------------


在"app/templates/keg login/macros.html"中创建"macros.html"文件。首先,我们需要做的是添加::

{%extends"keg login/\u macros.html"%}

keg登录中的所有内容都是一个宏。

要覆盖的通用宏是"render_wrapper"宏。`` render_wrapper``
和jinja2的高级功能,允许keg登录中的表单用额外的html"包装"
。例如,如果有一堆额外的代码要用
包围表单元素。这需要更多的解释…



例如,假设您有这个"master"模板…

…代码::jinja2

<;body>;
<;div class="container">;
{%block container%}{%endblock%}
<;div>;
<;body>;

代码::html

{%扩展"base.html"%}

{%block container%}
<;div class="auth container">;
{%block main%}
{%endblock%}
<;div>;
{%endblock container%}

我们可以对
表单进行定制。例如,登录表单的"input"标记位于
"body>;div.container>;div.auth-container>;form>;input(s)"。如果我们的设计
需要在"form"和"input"之间有一个html元素怎么办?如果不重写每个表单实现,这就不可能
(这是不可接受的,您最好不要在此时使用keg登录,或者创建类似于
``render撸wrapper```.

to use``render撸wrapper``的东西,在您的`macros.html`文件中,但是这个…

代码:

{%macro render_wrapper()%}
{代码:

{%macro render_wrapper()%}
<;div class="form wrapper">;
{{{caller()}
<;div>;
{%endmacro%}


现在,所有KEG登录表单都将获得此处理。

state
===

*`master`:我们的"生产"分支


所有其他分支都是功能分支。


环境
==



安装要求:

`$pip安装--使用车轮--无索引--查找链接=要求/驾驶室-r需求/dev env.txt`
`$pip安装-e.。`

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入