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

关于“Python”的核心知识点整理大全55

我们不想用户与管理网站交互,因此我 们将使用Django表单创建工具来创建用户能够输入数据的页面。 19.1.1 添加新主题 首先来用户能够添加新主题。...用于添加主题的表单 用户输入并提交信息的页面都是表单,那怕它看起来不像表单用户输入信息,我们需 要进行验证,确认提供的信息是正确的数据类型,且不是恶意的信息,如中断服务器的代码。...对于只是从服务 器读取数据的页面,使用GET请求;在用户需要通过表单提交信息,通常使用POST请求。处理 所有表单,我们都将指定使用POST方法。...用户初次请求该网页,其浏览器将发送GET请求; 用户填写提交表单,其浏览器将发送POST请求。...由于实例化TopicForm我们没有指定任何实参,Django将创建一个可供用户 填写的空表单。 如果请求方法为POST,将执行else代码块,对提交表单数据进行处理。

12210

第 14 篇:交流的桥梁“评论功能”—— HelloDjango 系列教程

注意这里注册的是 CommentsConfig 类, 博客从“裸奔”到“有皮肤”[1] 中曾经讲过如何对应用做一些初始化配置,例如 blog 应用在 django 的 admin 后台显示中文名字。...注册评论模型到 admin 既然已经创建了模型,我们就可以将它注册到 django admin 后台,方便管理员用户对评论进行管理,如何注册 admin 以及美化 博客从“裸奔”到“有皮肤”[4]...当用户想要发表评论,他找到我们给他展示的一个评论表单(我们已经看到文章详情页的底部就有一个评论表单,你将看到表单呈现给我们的样子),然后根据表单的要求填写相应的数据。...展示评论表单 表单类已经定义完毕,现在的任务是文章的详情页下方将这个表单展现给用户用户便可以通过这个表单填写评论数据,从而发表评论。 那么怎么展现一个表单呢?...因为视图函数 comment 中的表单实例是绑定了用户提交的评论数据,以及对数据进行过合法性校验的表单,因此当 django 渲染这个表单,会连带渲染用户已经填写表单数据以及数据不合法的错误提示信息

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

注册

所以默认的表单渲染后只有用户名(username)、密码、确认密码三个表单控件。我们还希望用户注册提供邮箱地址,所以 fields 中增加了 email 字段。...编写用户注册视图函数 首先来分析一下注册函数的逻辑。用户注册表单填写注册信息,然后通过表单将这些信息提交给服务器。视图函数从用户提交的数据提取用户的注册信息,然后验证这些数据的合法性。...为了 Admin 后台查看用户数据,首先需要注册用户模型。...如果你不知道怎么创建,请参照 Django Admin 后台发布文章 中的说明。...用户注册后就要登录,接下来就是如何提供用户登录功能了。 总结 本教程的示例项目代码位于 GitHub:Django Auth Example。 如果遇到问题,请通过下面的方式寻求帮助。

9K60

用人话讲解django之template学习

网站页面展示的内容就是通过 django 模板文件控制的,django模板相关的文件大概包括 html5 css js 等静态资源文件。django 可以通过视图函数连接模板的 html文件。...django 通过render函数指定关联html文件。使用模板需要在settings.py设置模板的路径,还要在项目目录创建一个templates文件夹。 ? ?...那就写个简单的登录功能吧,仅仅提交用户输入的内容,使用表单发起 POST 请求。 ? ? form 是html 语法,表示使用表单,method="post" 表示使用表单发起 POST 请求。...上面的视图函数是两个大功能,当请求方式是 GET 是显示登录所需的输入框,当点击提交按钮,也就是请求是 POST ,获取请求的内容,得到用户名和密码。...用户登录,把页面表单填写的内容传给后台,获取数据,django视图函数中获取post提交的数据是 通过request.POST方法获取。

63010

django入门:Admin管理系统及表单(干货)

这一部分将介绍 django 自带的后台管理系统,以及如何通过表单提交数据 django admin 后台管理系统 在后台管理系统注册创建的模型 from django.contrib import admin...admin 主界面 当然,django 自带的 admin 管理系统不止那么点功能,接着我们通过定义一些参数,来定制 admin 界面 自定义 admin # 使用后台管理的时候,可能需要自己定制...admin 管理界面 为了可以和用户进行交流,我们需要获取用户的一些评论之类的,所以我们需要通过表单用户提交信息,接下来我们将了解下 django表单 django 表单 存在相应模型(POST...,当提交的信息发生错误的时候,就会显示错误用户改正 ?...提交表单错误 不存在对应模型(POST 方式) 1. forms.py 中创建表单 # 假设有个信息反馈的表单 class ContractForm(forms.Form): subject

2.8K20

Django-form表单

实际应用中,一个表单可能包含几十上百个字段,其中大部分需要预填充,而且我们预料到用户将来回编辑-提交几次才能完成操作。 我们可能需要在表单提交之前,浏览器端作一些验证。...我们可能想使用非常复杂的字段,以允许用户做类似从日历中挑选日期这样的事情,等等。 这个时候,Django 来为我们完成大部分工作是很容易的。...Django 中构建一个表单 Form 类 我们已经计划好了我们的 HTML 表单应该呈现的样子。Django 中,我们的起始点是这里: ?...这是我们第一个访问该URL 预期发生的情况。 如果表单提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求中的数据填充它:form = NameForm(request.POST)。...当渲染给用户,它将为空或包含默认的值。 绑定的表单具有提交的数据,因此可以用来检验数据是否合法。如果渲染一个不合法的绑定的表单,它将包含内联的错误信息,告诉用户如何纠正数据。

3.9K70

Python Django开发 经验技巧总结(一)

文章目录 1.前后台的数据传递 2.与数据库交互并返回数据的几种比较常用的方法 3.一个表单对应多个按钮解决方案 4.HTML中的表单控件及操作 5.消息框架 message使用 6.日期和时间DateField...的auto_now、auto_now_add 7.获取已登录用户的名字 8.数据库表中属性的自增/自减操作 9.执行原始sql语句 10.分页显示数据 1.前后台的数据传递 view -> HTML:使用...-这个method代表方法,方法一般有两个一个是'post',一个是'get',action是提交表单到何处,可填写一个网址。不填则默认到本页面。> {%csrf_token%} )中的内容被提交到后端。...7.获取已登录用户的名字 views里取值是request.user.username,模板页面取值是{{request.user}},判断是否通过验证是{% if request.user.is_authenticated

1.3K10

关于“Python”的核心知识点整理大全58

19.2.4 注册页面 下面来创建一个用户能够注册的页面。我们将使用Django提供的表单UserCreationForm, 但编写自己的视图函数和模板 1....视图函数register() 注册页面首次被请求,视图函数register()需要显示一个空的注册表单,并在用户提交 填写好的注册表单对其进行处理。...地填写了注册信息其自动登录。...如果提交的数据有效,我们就调用表单的方法save(),将用户名和密码的散列值保存到数据 库中(见4)。方法save()返回新创建的用户对象,我们将其存储new_user中。...表单中正确地显示所有的字段,包括错误消息——如果 用户没有正确地填写表单

9410

评论

created_time 记录用户发表评论的时间,我们肯定不希望用户发表评论还得自己手动填写评论发表时间,这个时间应该自动生成。 创建了数据库模型就要迁移数据库,迁移数据库的命令也在前面讲过。...表单是用来收集并向服务器提交用户输入的数据的。考虑用户我们博客网站上发表评论的过程。...当用户想要发表评论,他找到我们给他展示的一个评论表单(我们已经看到文章详情页的底部就有一个评论表单,你将看到表单呈现给我们的样子),然后根据表单的要求填写相应的数据。...我们知道每一个 URL 对应着一个 Django 的视图函数,于是 Django 调用这个视图函数,我们视图函数中写上处理用户通过表单提交上来的数据的代码,比如验证数据的合法性并且保存数据到数据库中,...那么用户的评论就被 Django 后台处理了。

3.1K60

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

一个Web 应用中,‘表单’可能指HTML 、或者生成它的Django 的Form、或者提交发送的结构化数据、或者这些部分的总和。...表单字段浏览器中呈现给用户的是一个HTML 的“widget” —— 用户界面的一个片段。每个字段类型都有一个合适的默认Widget 类,需要可以覆盖。...当我们实例化表单,我们可以选择它为空还是预先填充它,例如使用: 来自一个保存后的模型实例的数据(例如用于编辑的管理表单) 我们从其它地方获得的数据 从前面一个HTML 表单提交过来的数据 最后一种情况最令人关注...这是一个非常简单的表单。实际应用中,一个表单可能包含几十上百个字段,其中大部分需要预填充,而且我们预料到用户将来回编辑-提交几次才能完成操作。 我们可能需要在表单提交之前,浏览器端作一些验证。...我们可能想使用非常复杂的字段,以允许用户做类似从日历中挑选日期这样的事情,等等。 这个时候,Django 来为我们完成大部分工作是很容易的。

4.2K20

接口的幂等性

,它就具有幂等性 产生幂等性的场景 ❇️如网络波动引起重复请求 ❇️如用户误操作导致的重复操作 ❇️应用使用了失败或超时的重试机制(如Nginx重试、RPC重试等) ❇️第三方平台的接口(如支付成功回调接口...),因为异常导致多次异步回调 ❇️用户双击提交按钮 ❇️页面重复刷新 ❇️使用浏览器后退按钮重复之前的操作,导致重复提交表单 ❇️浏览器重复的http请求 ❇️定时任务重复执行 幂等性应该在哪一层实现...在数据访问层实现是比较合适的 读请求(查询,不做幂等) 写请求(增删改) insert操作:这种情况下多次请求,可能会产生重复数据(如有时我们填写某些form表单,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据...如果还有计算,比如:update user set status=status+1 where id=1,这种情况下多次请求,可能会导致数据错误 如何保证接口幂等性 前端实现(不可靠) 提交后把按钮置为灰色或...loading状态,这种情况不可靠,因为用户可以通过工具绕过js来访问 接口 token机制(防止重复提交):提交提交带上token,后台判断如果这个token是后台生成的则提交,如果不是就不让提交

36820

用 Vue 和 Django 快速搭建前后端分离项目

: cd front_end npm install npm run dev 安装依赖 现在的前端项目,只会显示一个静态的网页,我们需要给它加点料,比如搞个表单它发起 get 或 post 请求,...python manage.py runserver 我们浏览器中输入 http://127.0.0.1:8000/admin 然后输入管理员用户名和密码,再新增 3 个用户,可以随便填写,目的是为了多几条测试数据...看来第二种比较方便,前提是你需要学习如何使用 mock 来模拟后端 api。 为了开发环境联调,我们将第一种方法进行到底,现在修改 django 的配置文件 settings.py 它允许跨域。...这里,我们填写用户名和邮箱,提交 post 请求后,users 表会新增一条记录,通过 get 请求也可以查询出来,大家可以动手试一试。...实际开发中,我们在请求后端接口的 url 一般不会填写 ip 地址和端口,而是 'api/xxx' 这种形式,这里是为了展示如何在开发环境进行前后端联调而写成此种形式。

3.6K20

bootstrap+django搭建防跨站点攻击登陆系统

设计的主要逻辑从以下几个方面来考虑: 1.登录:分为get与post两种情况,post即为提交请求,此时进行数据验证,使用django自带的抽象authentication类,使用login和logout...从图中可以看见,我User类中,定义了一个子类class Meta,它的作用从名称中就可看出来,是详细的名称verbosename是具体名称,下面一个是复数,至于他们的作用,就是admin后台管理系统中能够显示...编写forms.py表单层: ? 注意,表单层使用widget来添加表单属性,继承django.forms类,即可使用。...简单来说,就是跨站点请求伪造,当你登录一个网站,会在你的浏览器上保存一个cookie,如果此时,你正好又去点击了一个不良网站,后台人员,便可以使用保存在你浏览器上的cooike以你的身份去做一些事情。...那么dajngo如何来防止这种,情况呢? dajngo使用伪随机数来完成这个操作,使用起来很简单,只需要在表单只能加入{{csrf_token}},如 ?

1.2K20

使用Selenium和Python进行表单自动填充和提交

你是不是也厌倦了每天重复表单填写的工作?是时候技术来帮助我们解放双手了这次我将向你展示如何使用Selenium和Python来自动填充和提交表单你摆脱了这种无聊的重复劳动。准备好了吗?...首选我们要了解Selenium 是一个强大的自动化测试工具,它可以用户浏览器中进行操作模拟。而 Python 是一种简洁而强大的编程语言,它可以让我们轻松编写自动化脚本。...我们希望能够通过代码示例来演示这个过程,我来给你一个实际的案例,看看这个技术是如何发挥作用的。假设你每天都要登录一个网站,并填写一个长长的表单。...假设提交按钮的id是“submit”,我们可以使用以下代码来点击它:driver.find_element_by_id("submit").click()填写提交表单的过程中,可能会遇到一些威胁。...此外,如果我们填写表单包含敏感信息,我们需要确保我们的脚本处理这些信息是安全的。解决上述问题和威胁,我们可以使用代理服务器来隐藏我们的真实IP地址,所有被网站识别为自动化脚本。

54330

​第 07 篇:创作后台开启,请开始你的表演!

支持 Markdown 语法部分中将介绍如何在文章中插入图片的方法。...• admin 后台的 post 列表页面,我们只看到了文章的标题,但是我们希望它显示更加详细的信息,例如作者、发布时间、修改时间等。•新增文章,所有数据都要自己手动填写。...简化新增文章的表单 接下来优化新增文章填写表单数据的不合理的地方。...文章的创建时间和修改时间应该根据当前时间自动生成,而现在是由人工填写,还有就是文章的作者应该自动填充为后台管理员用户,那么这些自动填充数据的字段就不需要在新增文章的表单中出现了。...django admin 已经自动帮我们生成了),而如果用户登录了我们的站点,那么 django 就会将这个用户实例绑定到 request.user 属性上,我们可以通过 request.user 取到当前请求用户

1.1K20

Django使用普通表单、Form、以及modelForm操作数据库方式总结

Django使用普通表单、Form、以及modelForm操作数据库主要应用于增删该查的情景下,流程通用如下,只是实现方式不一样: 进入填写表单页面; 表单页面填写信息,并提交...; 表单数据验证 验证成功,和数据库进行交互(增删改查); 验证成功,页面提示表单填写失败; 一、Django使用普通表单操作数据库 1、html代码:    2、点击增加后,页面判断填写字段是否合法...使用自有插件Form表单操作数据库 和方法一的使用普通表单相比,使用django的Form表单更方便快捷地生成前端form表单以及对字段的校验规则; from django.shortcuts...表单操作数据库 和方法二的使用表单Form相比,modelForm具有Form中所有的验证钩子,使用django的modelForm表单不需要重新定义Form,比较方便。

2.6K30

Django用户登录与注册系统

四、url路由和视图  前面我们已经创建好数据模型了,并且admin后台中添加了一些测试用户。下面我们就要设计好站点的url路由、对应的处理视图函数以及使用的前端模板了。  ...六、登录视图 6.1.登录视图 根据我们路由中的设计,用户通过login.html中的表单填写用户名和密码,并以POST的方式发送到服务器的/login/地址。... {% endblock %}  七、Django表单 Django表单给我们提供了下面三个主要功能: 准备和重构数据用于页面渲染; 为数据创建HTML表单元素; 接收和处理用户表单发送过来的数据...比如GET方法请求页面,返回空的表单用户可以填入数据; 对于POST方法,接收表单数据,并验证; 使用表单类自带的is_valid()方法一步完成数据验证工作; 验证成功后可以从表单对象的cleaned_data...注册成功admin后台可以看到注册的用户 ? 10.4.密码加密 用户注册的密码应该加密才对 对于如何加密密码,有很多不同的途径,其安全程度也高低不等。

11.3K70

Django用户登录与注册系统

四、url路由和视图 前面我们已经创建好数据模型了,并且admin后台中添加了一些测试用户。...,用户通过login.html中的表单填写用户名和密码,并以POST的方式发送到服务器的/login/地址。... { % endblock %} 七、Django表单 Django表单给我们提供了下面三个主要功能: 准备和重构数据用于页面渲染; 为数据创建HTML表单元素; 接收和处理用户表单发送过来的数据...比如GET方法请求页面,返回空的表单用户可以填入数据; 对于POST方法,接收表单数据,并验证; 使用表单类自带的is_valid()方法一步完成数据验证工作; 验证成功后可以从表单对象的cleaned_data...看一下注册的页面: 注册成功admin后台可以看到注册的用户 10.4.密码加密 用户注册的密码应该加密才对 对于如何加密密码,有很多不同的途径,其安全程度也高低不等。

5K11

Django的form,model自定制

(一般不使用post_clean做自定义过滤,clean_form方法完全可以解决) form表单提交验证 form表单(会发起 get)提交刷新失去上次内容 from django.shortcuts...如何保留用户上次输入的内容?...由于form表单submit之后(发送post请求) 数据提交到 后端,不管前端输入的数据是否正确,服务端也要响应,所以页面会刷新; 所以无法保留用户上次输入的内容;如何解决呢?...;用户输入值通过post方法提交后台。...发送get请求,服务端渲染到模板(空标签/默认值)发送到客户端显示 (3)客户端填数据,POST提交到后端; (4)后端验证,返回结果给前端;(切记Form组件是在后端生成,发送给客户端显示,客户端填完数据发回服务端

2.5K10
领券