首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

修改密码 Django不会在user模型上存储原始(明文)密码,只是一个哈希(完整细节参见文档:密码是如何管理)。因为这个原因,不要尝试直接操作userpassword属性。...如何登入一个用户 如果你有一个认证了用户,你想把它附带到当前会话中 - 这可以通过login()函数完成。 login()[source] 从视图中登入一个用户,请使用login()。...如何登出一个用户 logout()[source] 若要登出一个已经通过django.contrib.auth.login()登入用户,可以在你图中使用django.contrib.auth.logout...注意,如果你提供一个给redirect_field_name,你非常可能同时需要自定义你登录模板,因为存储重定向路径模板上下文变量将使用redirect_field_name作为它键,不是默认...user_passes_test()接收两个额外参数: login_url 让你指定那些没有通过检查用户要重定向至哪里。若不指定其,它可能是默认 settings.LOGIN_URL。

4.6K20

django 1.8 官方文档翻译:5-1-4 内建Widget

子类必须实现 这个方法,而且因为可能为空,实现必须要防卫这点。 “解压”基本原理是需要“分离”组合表单字段为每个Widget 。...其它可能需要覆盖方法: render(name, value, attrs=None) 这个方法中 value参数处理方式与Widget子类不同,因为需要弄清楚如何为了在不同widget中展示分割单一...如果value不是一个列表,首先会通过decompress()方法来预处理,创建列表,之后再渲染。...一个处理多个隐藏Widget Widget,用于为一个列表字段。 choices 当表单字段没有choices 属性时,这个属性是可选。...如果DateField 不是必选,SelectDateWidget 将有一个空选项位于选项顶部(默认为---)。你可以通过empty_label 属性修改这个文本。

5K40
您找到你想要的搜索结果了吗?
是的
没有找到

37.Django1.11.6文档

null纯粹是数据库范畴,指数据库中字段内容是否允许为空, blank 是表单数据输入验证范畴。 如果一个字段blank=True,表单验证将允              许输入一个空。 ...django.conf.urls.url() 函数可以接收一个可选第三个参数,它是一个字典,表示想要传递给视图函数额外关键字参数。...在Django更改1.10.1: 较旧版本没有CheckboxInput例外,这意味着如果这是模型字段默认,则未选中复选框将接收到True。...如何登出用户 logout(request)[source] 若要登出一个已经通过django.contrib.auth.login()登入用户,可以在你图中使用django.contrib.auth.logout...dispatch_uid – 一个信号接收唯一标识符,以防信号多次发送。 详见防止重复信号。 通过注册一个在每次HTTP请求结束时调用信号,让我们来看一看它是如何工作

24.3K80

django 1.8 官方文档翻译: 5-1-1 使用表单

除非你计划构建网站和应用只是发布内容不接受访问者输入,否则你将需要理解并使用表单Django 提供广泛工具和库来帮助你构建表单接收网站访问者输入,然后处理以及响应输入。...绑定和未绑定表单实例 绑定和未绑定表单 之间区别非常重要: 未绑定表单没有关联数据。当渲染给用户时,它将为空或包含默认。 绑定表单具有提交数据,因此可以用来检验数据是否合法。...如果渲染一个不合法绑定表单,它将包含内联错误信息,告诉用户如何纠正数据。 表单is_bound 属性将告诉你一个表单是否具有绑定数据。...直到现在,我们没有担心如何展示错误信息,因为Django 已经帮我们处理好。在下面的例子中,我们将自己处理每个字段错误和表单整体各种错误。...迭代隐藏和可见字段 如果你正在手工布局模板中一个表单不是依赖Django 默认表单布局,你可能希望将 字段与非隐藏字段区别对待。

4.2K20

Python smtp邮件发送模块用法教程

auth_user: 可选用户名用来验证SMTP服务器,如果你要特别指定使用哪个邮箱帐号,就指定这个参数。...如果没有提供这个Django将会使用settings中EMAIL_HOST_USER如果两者都不提供,那你还发什么??? auth_password: 可选密码用来验证SMTP服务器。...如果没有提供这个Django 将会使用settings中EMAIL_HOST_PASSWORD。和上面那个参数是一家。 connection: 可选用来发送邮件电子邮件后端。...四、防止头部注入攻击 有时候,我们要根据用户表单输入来构造电子邮件,这就存在头部注入攻击风险,Django给我们提供了一定防范能力,但是更多时候,还需要你自己编写安全防范代码。...下面是一个例子,接收用户输入主题、邮件内容和发送方,将邮件发送到系统管理员: from django.core.mail import send_mail, BadHeaderError from django.http

62530

35.Django2.0文档

在这个模式中, Model 代表数据存取层,View 代表是系统中选择显示什么和怎么显示部分,Controller 指的是系统中根据用户输入需要访问模型,以决定使用哪个视图那部分。      ...C:根据用户输入委派视图部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当Python 函数  由于 C 由框架自行处理, Django 里更关注是模型(Model...输入一下命令,如果没有报错说明,说明数据库配置是正确 >>> from django.db import connection >>> cursor = connection.cursor() 3.第一个模型...它从可用年份开始,然后逐层细分到月乃至日。 ? 请注意,date_hierarchy接受是* 字符串* ,不是元组。因为只能对一个日期型字段进行层次划分。  ...例如,你可以给一个用户添加和修改publishers权限,不给他删除权限。 请注意,这些权限是定义在模块级别上,不是对象级别上

11.3K100

Django model 层之Models与Mysql数据库小结

因为,默认Django为每个模块设置一个field: id = models.AutoField(primary_key=True) 如果想自己指定一个自定义主键列,则必须按上述设置,显示指定字段名称...如果需要接收null,则使用NullBooleanField替代BooleanField。 如果未定义Field.default,那么BooleanField field默认为None。...DateTimeField字段如果要保存为当前时间,可以通过timezone.now()快速获取当前时间进行赋值 >>> from django.utils import timezone >>>...如果设置了该选项,那么默认表单组件将变为一个select box,不是标准是text field,且将被限制从给定choice中选择choice。...,分别称之为参照表(如上Album),被参照表(如上Musician) 假设Musician代码位于 Album代码之前,那么执行以上代码时将报错,因为那会还没有定义Musician,如果不调整代码顺序

2.2K20

七日Python之路--第十二天(Django Web 开发指南)

‘初始化程序’initializer 不是‘构造函数’constructor 即'__init__'函数 Python还支持动态实例属性。...接受四个关键字 : select , where , tables , params (11)利用Django没有提供SQL特性 !!!!!...在模板中输出context变量时,会隐式调用unicode方法。如果试图打印没有__unicode__方法对象,在模板中是不可见。...Django提供了forms库把框架里三个主要组件联系在一起:模型定义数据库字段,模板里显示HTML表单标签,还有检验用户输入和显示错误信息能力。...当有关联对象时,Django会给表单添加一个额外方法 save_m2m (21)区别于Model ModelFormMeta嵌套类允许你定义两个可选属性,fields和exclude

1.7K20

简化 Django 开发八个 Python 包 | Linux 中国

◈   describe_form 输出模型表单定义,可以粘贴到   forms.py 文件中。(需要注意是,这种方法创建是普通 Django 表单不是模型表单。)...它带有一个可选能过滤垃圾邮件表单类(也有不过滤普通表单类)和一个 ContactFormView 基类,基类方法可以覆盖或自定义修改。而且它还能引导你完成模板创建,好让表单正常工作。  ...处理 Django REST 框架用户认证:django-rest-auth  如果 Django 开发中涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...如果你在用 DRF,那么你应该试试 django-rest-auth,它提供了用户注册、登录/注销,密码重置和社交媒体认证端点(是通过添加 django-allauth 支持来实现,这两个包协作得很好...django-rest-swagger 从 API 视图中 docstrings 生成每个端点文档,通过这种方法,为你项目创建了一份 API 文档,这对你,对前端开发人员和用户都很有用。

2.9K20

Django 学习笔记之模型(上)

同时,文章也配套了例子,你可以通过 阅读原文 来查看。 0 编程环境 因为 Django 近期推出 Django 2.0 版本, 所以有必要再说明下。...如果是学习的话,不用太在意版本。当然学习最新较好,因为可以学习新 API。同时,Django 2.0 不再兼容 Python 2 了,现在学习 Python 都建议采用 Python 3版本了。...在数据库中 Django 创建一个中间表来表示 ManyToManyField 关系。默认情况下,中间表名称由两个关系表名结合而成。所以刚才我们创建数据库表途中,会有四张表,不是三表。...3.4 字段选项 有些字段会有些特殊参数,但所有字段类型都又些通用可选选项。先是常用可选选项。 1)null :如果该参数设置为 True,Django将会把数据库中保存为 NULL。...2)blank:如果为 True ,该字段允许为空,不填写默认为 False。这个字段是用于处理表单数据输入验证。 3)primary_key:如果为 True,那么这个字段就是模型主键。

1.8K30

Django 3.1 官网学习路线

如前所述,默认应用程序是为常见情况包含,但不是每个人都需要它们。如果您不需要它们中任何一个或全部,那么可以在运行 migrate 之前随意地注释或删除 INSTALLED_APPS 中适当行。...字段还可以有各种可选参数;在本例中,我们将投票默认设置为 0。 最后,请注意使用外键定义了关系。这告诉 Django 每个选择都与一个问题相关。...要调用 Python Shell,请使用以下命令: python manage.py shell 我们使用它,不是简单地输入“python”,因为 manager .py 设置了 DJANGO_SETTINGS_MODULE...不同模型字段类型(DateTimeField、CharField)对应于适当 HTML 输入小部件。每种类型字段都知道如何Django 管理中显示自己。...通常,您需要定制管理表单外观和工作方式。可以通过在注册对象时告诉 Django 所需选项来实现。 通过重新排列编辑表单字段来了解其工作原理。

8.1K10

django 1.8 官方文档翻译: 3-6-2 内建中间件

这样一来,如果有任何请求没有Django处理(比如静态媒体或用户上传文件),他们会拥有和向Django应用请求相同保护。...开启HSTS时候,首先使用一个小来测试它是个好主意,例如,让SECURE_HSTS_SECONDS = 3600为一个小时。...警告 浏览器XSS过滤器是一个十分有效手段,但是不要过度依赖它。它并不能检测到所有的XSS攻击,也不是所有浏览器都支持这一协议头。确保你校验和过滤了所有的输入来防止XSS攻击。...SECURE_SSL_REDIRECT专门为这种部署情况而设计,当这不可选时候。 如果SECURE_SSL_HOST设置有一个,所有重定向都会发到主机,不是原始请求主机。...CSRF保护中间件 class CsrfViewMiddleware[source] 添加跨站点请求伪造保护,通过向POST表单添加一个隐藏表单字段,并检查请求中是否有正确

93130

django 1.8 官方文档翻译:13-12 验证器

=[validate_even]) 由于在验证器运行之前会转化为Python,你可以在表单上使用相同验证器: from django import forms class MyForm(forms.Form...验证器如何运行 关于验证器如何表单中运行,详见表单验证 。关于它们如何在模型中运行,详见 验证对象。...要注意验证器不会在你保存模型时自动运行,但是如果你使用ModelForm,它会在任何你表单包含字段上运行你验证器。关于模型验证器如何表单交互,详见ModelForm 文档。...但是,如果这个字符串在白名单里,就可以通过验证。如果没有提供,默认白名单是 ['localhost']。其它不包含点符号域名不能通过验证,所以你需要按需将它们添加进白名单。...如果没有提供,默认为 ['http', 'https', 'ftp', 'ftps']。IANA 网站提供了 有效URI模式完整列表作为参考。

1.7K30

django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

Django 解决了为网站管理员创建统一 管理界面用以编辑内容问题。 管理界面不是让网站访问者使用它是为网站管理员准备。...启用管理网站 默认情况下 Django 管理网站是不启用它是可选。...自定义你 应用 模板 细心读者会问:如果 TEMPLATE_DIRS 默认情况下是空, 那 Django如何找到默认管理网站模板?...我们 poll 应用不是很复杂并不需要自定义管理模板。但是如果它变得更复杂 而且为了一些功能需要修改 Django 标准管理模板,修改应用模板将是更 明智选择,不是修改项目模板。...这个变量包含了每一个 已安装 Django 应用。你可以通过你认为最好方法硬编码链接到特定对象管理页面,不是使用默认模板。

2.5K40

django 1.8 官方文档翻译: 3-3-1 文件上传

这篇文档阐述了文件如何上传到内存和硬盘,以及如何自定义默认行为。 警告 允许任意用户上传文件是存在安全隐患。更多细节请在用户上传内容中查看有关安全指导的话题。...你可以编写自定义处理器,来定制Django如何处理文件。例如,你可以使用自定义处理器来限制用户级别的配额,在运行中压缩数据,渲染进度条,甚至是向另一个储存位置直接发送数据,不把它存到本地。...()(不是append()),因为进度条处理器需要在任何其他处理器 之前执行。...如果你在读取request.FILES之后尝试修改request.upload_handlers,Django会抛出异常。 所以,你应该在你图中尽早修改上传处理器。...CsrfViewMiddleware 也会访问request.POST,它是默认开启。意思是你需要在你图中使用csrf_exempt(),来允许你修改上传处理器。

70850

Django 学习笔记之模型高级用法(上)

细节用法往往体现在一些差别用法,难以理解知识点上。 1 复杂字段类型 经过前面的学习,我们知道模型字段类型一方面是指定数据库表列名称和数据类型,另一方面决定 HTML 中表单标签类型。...例如:/home/monkey match:可选参数,它是一个正则表达式,主要用于匹配过滤出文件名。 recursive:可选参数,表示是否包含子目录。默认为 Flase。...Django 规定 allow_files 和 allow_folders 两者之间必须有一个为 True。 1.5 FileField 上传文件字段,常见于表单中。...db_column: 指定当前数据库表中该字段列名。如果没有指定,Django 默认将 Field 名作为字段名。 db_index: 如果赋值为 True, 将会为这个字段创建数据库索引。...如果用户没有定义该选项, Django会自动将自动创建,内容是该字段属性名中下划线转换为空格结果。

2K30

Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

在使用POST请求时候,我们根据前端上传上来数据,构建一个新表单,这个表单是用来验证数据是否合法如果数据都验证通过了,那么我们可以通过cleaned_data来获取相应数据。...FloatField 用来接收浮点类型,并且如果验证通过后,会将这个字段转换为浮点类型。 参数: max_value:最大。 min_value:最小。...错误信息key:required、invalid、max_value、min_value。 IntegerField 用来接收整形,并且验证通过后,会将这个字段转换为整形。...forms.ModelForm): class Meta: model = Article exclude = ['category'] 3.1 自定义错误消息 使用ModelForm,因为字段都不是表单中定义...比如表单上验证字段没有包含模型中所有的字段,这时候就可以先创建对象,再根据填充其他字段,把所有字段都补充完成后,再保存到数据库中。

3.1K40

django 1.8 官方文档翻译:5-1-2 表单API

如果是绑定,那么它能够验证数据,并渲染表单及其数据成HTML。 如果是未绑定,那么它不能够完成验证(因为没有可验证数据!),但是仍然能渲染空白表单成HTML。...这些只显示在没有绑定表单中,即使没有提供特定它们也不会作为后备。 注意,如果字段有定义initial, 实例化表单时也提供initial,那么后面的initial 将优先。...将包含所有字段键和,即使传递数据不包含某些可选字段。...每个字段都知道自己“空” —— 例如,DateField 是None 不是一个空字符串。关于每个字段空完整细节,参见“内建Field 类”一节中每个字段“空”提示。...id 属性通过表单字段名称前面加上id_ 生成。但是如果你想改变id 生成方式或者完全删除 HTML id 属性和标签,这个行为是可配置

2.7K30
领券