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

评论

关于表单进一步解释 Django 为什么要给我们提供一个表单类呢?为了便于理解,我们可以把表单和前面讲过 Django ORM 系统做类比。...post = get_object_or_404(Post, pk=post_pk) # HTTP 请求有 get 和 post 两种,一般用户通过表单提交数据都是通过 post 请求,...# 因此只有当用户请求post 时才需要处理表单数据。...但既然我们已经有了一个 Post 模型实例 post(它对应Post数据库一条记录),那么获取post 关联评论列表有一个简单方法,即调用它 xxx_set 属性来获取一个类似于...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应评论列表数据,然后传递给模板显示: blog

3.1K60

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

我们不想让用户与管理网站交互,因此 们将使用Django表单创建工具来创建让用户能够输入数据页面。 19.1.1 添加新主题 首先来让用户能够添加新主题。...然 后,我们再对这些有效信息进行处理,并将其保存到数据库合适地方。这些工作很多都是由 Django自动完成。...如果请求方法不是POST请求就可能是GET, 因此我们需要返回一个空表单(即便请求是其他类型,返回一个空表单也不会有任何问题)。...要将提交信息保存到数据库,必须先通过检查确定它们是有效(见)。...这 种自动验证避免了我们去做大量工作。如果所有字段都有效,我们就可调用save()(见), 将表单数据写入数据库。保存数据后,就可离开这个页面了。

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

django之评论系统及多级评论

关于表单进一步解释 Django 为什么要给我们提供一个表单类呢?为了便于理解,我们可以把表单和前面讲过 Django ORM 系统做类比。...post = get_object_or_404(Post, pk=post_pk) # HTTP 请求有 get 和 post 两种,一般用户通过表单提交数据都是通过 post 请求,...# 因此只有当用户请求post 时才需要处理表单数据。...但既然我们已经有了一个 Post 模型实例 post(它对应Post数据库一条记录),那么获取post 关联评论列表有一个简单方法,即调用它 xxx_set 属性来获取一个类似于...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应评论列表数据,然后传递给模板显示: blog

6.8K61

项目搭建历程-Part II

插一句:如果python开头命令无法使终端运行,那么可以尝试更换为py,更多请到我之前写一篇小博客康康:(pycharm终端无响应分享) 具体操作:实现一个请求 就像上面说选择是前后端分离开发模式...,唯一不同是前端post数据解码方式,如果使用POST接口时候,前端发送请求后端却接收不到请求参数,这时候不一定是前端问题,还有可能是数据解析方式有问题。...主要有以下两种: 数据解析方式 1.表单(application/x-www-form-urlencoded) 比如form表单POST请求默认就是以这种形式发送。...比如 id=request.POST.get('id') 其实实质上表单提交方式请求体(body)中参数形式和普通Get请求类似,可以print(request.body), 看到这个也就是上面的那个例子...以这篇文章为例hh(不是想偷懒,单纯技术不行) Django——实现增删改查总结 再次感谢这位大佬分享!

66840

Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09

csrf 中间件 跨站请求伪造 post请求提交数据通过 csrf 校验 form 表单 ajax 发送 csrf 装饰器相关 未注释掉 csrf 中间件时 单功能取消 csrf 校验:csrf_exempt...,等请求再次来到最后一层中间件时,在返回数据同时,会保存一份在缓存数据库中。...csrf 中间件 跨站请求伪造 钓鱼网站 原理:写了一个一模一样网站,一个隐藏框,发送往隐藏当做收钱方 问题:如何区分当前用户朝我们网站发送请求页面是不是我们本网站给 防止思路 网站会给返回给用户...里面放是一个字符串,每次刷新都会更新里面的 value,这样别人网站就不知道;,这个 value 就无法伪造了 django 实现 {% csrf_token %} 该随机字符串有以下特点: 同一个浏览器每一次访问都不一样...不同浏览器绝对不一样 post请求提交数据通过 csrf 校验 form 表单 form 表单发送 post 请求时候,需要你做是写一段代码 {% csrf_token %} 即可,不需要注释 csrf

1.4K50

Django 学习笔记之表单

举个栗子,用户使用浏览器访问一个页面,在页面的搜索框中输入图书名称,想获取所有销售该图书商店。Web 站点需要获取图书名称信息作为数据库查询条件,所以将数据拦截并获取图书名称。...**因为页面是通过 name 属性中值来获取用户输入内容。以 GET 方式请求为例,有个单行输入框定义 name="q"。当你在输入框中填写值 moneky 然后提交。...方法二:自定义 Form 自定义表单是比较高级用法,有时候通过 Model 自动创建 Form 无法满足自己需求。...return HttpResponseRedirect('/') else: # 不是 GET 请求则显示表单 form = AuthorFormOne... 在 url.py 定义表单路径是: from django.contrib

2.5K30

解决Django提交表单报错:CSRF token missing or incorrect问题

视图函数将一个请求传递给模板呈现方法。 在模板中,每个POST表单中都有一个{% csrf_token %}模板标记,目标是一个内部URL。...该表单有一个有效CSRF令牌。在登录另一个浏览器选项卡或登录后单击back按钮之后,您可能需要使用表单重新加载页面,因为登录后令牌会旋转。...又有疑问了,同一次登录,form表单token每次都会变,而cookie中token不便,django把那个salt存储在哪里才能保证验证通过呢。 直到看到源码。...django会验证表单token和cookie中token是否能解出同样secret,secret一样则本次请求合法。...同样也不难解释,为什么ajax请求时,需要从cookie中拿取token添加到请求头中。

4.5K30

Django搭建blog网站(二)

这里唯一不同是我们从数据库获取文章列表操作不是在视图函数中进行,而是在模板中通过自定义 {% get_recent_posts %} 模板标签进行。...如果表单对应有一个数据库模型(例如这里评论表单对应着评论模型),那么使用 ModelForm类会简单很多,这是 Django 为我们提供方便。...post = get_object_or_404(Post, pk=post_pk) # HTTP 请求有 get 和 post 两种,一般用户通过表单提交数据都是通过 post 请求,...# 因此只有当用户请求post 时才需要处理表单数据。...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应评论列表数据,然后传递给模板显示: blog

4.5K100

第 3 篇:实现博客首页文章列表 API

作者:HelloGitHub-追梦人物[1] 文中所涉及示例代码,已同步更新到 HelloGitHub-Team 仓库[2] 此前在讨论基于模板引擎开发方式和 django-rest-framework...视图函数里我们先从数据库获取文章列表资源,然后使用序列化器对其进行序列化,序列化后数据存在 data 属性里,我们把它传递给 HTTP 响应类 Response,并将这个响应返回。...HTTP 响应即可),通常在 RESTful API 视图函数中我们都会返回这个类,而不是 django HTTP 响应类。...我们在上一步教程 交流桥梁:评论功能 中介绍过表单(Form)定义。实际上,django-rest-framework 序列化器设计参考了 django 表单设计。...原因在于,对于 django模型(Model),已经有了定义其数据类型模型字段,因此 django 表单可以根据关联模型,自动推测需要使用表单字段,在背后帮我们完成表单字段选择,简化了表单定义

98420

django写接口(优化篇)

入门:视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 在《用django写接口(入门篇)》提到这篇会讲 views 代码优化,在这之前,我们先适当了解下...参考 django 表单部分) Response 是一种 TemplateResponse 采用未呈现内容,通过内容协商来确定正确内容类型以返回给客户端,用法直接 return Response...,接着,觉得有必要把自己在 Android 端做接口测试代码和运行结果贴出来,不然你们又会觉得坑你们了......这边为了偷懒(嗯对,就是偷懒),又写了一个只有单个字段 model ?...获取列表 ? 获取列表结果 ? 新建数据 ? 新建数据返回结果 ? 获取详情 ? 获取详情返回结果 ? 更新详情 ? 更新详情返回结果 ? 删除数据 ? 删除数据返回结果 有坑!...在结束文章最后,记录自己写时候遇到一个坑,当更新 ManyToMany 字段时候,我们需要重新写 post 方法,直接传 id 是不能更新,直接传 id 是不能更新,直接传 id 是不能更新

2.1K20

Django 中使用 ajax 请求正确姿势

django + jQuery ajax 用法,但经过这次工具更新对 ajax 用法又有了更深层次理解,所以分享一下使用经验。...有了这个基本关系理解,我们再来把两者结合过程分解到代码中,每次写在线工具思路大致如下: 在 html 中写好表单以及调用到 ajax 请求动作,比如按钮点击 既然要引用 ajax 发请求,那么可以把...第二种请求结果就是返回一个 html 页面,其实也就是提供表单那个页面,所以这个函数可以做到一个函数提供了 GET 和 POST 两种返回。...error 函数表示请求失败(返回码不是2xx)需要做事情,这个函数其实有几个参数,但是一般只需要用到第一个,因为这个参数可以拿到返回码,需要通过返回码来做相对于操作,可以看到我代码里面就是拿到返回码...总结 django 结合 jQuery AJAX 可以做到前后端数据传递,利用 ajax 特性可以在不更新当前 URL 基础上面做到数据库传递,从而到达只更新部分 HTML 效果。

1.7K10

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

Django表单 Django表单丰富了传统HTML语言中表单。在Django表单,主要做以下两件事 渲染表单模板。 表单验证数据是否合法。...如果是GET请求,那么返回一个空表单,如果是POST请求,那么将提交上来数据进行校验。...在使用POST请求时候,我们根据前端上传上来数据,构建一个新表单,这个表单是用来验证数据是否合法,如果数据都验证通过了,那么我们可以通过cleaned_data来获取相应数据。...2.3. django 表单自定义验证 有时候对一个字段验证,不是一个长度,一个正则表达式能够写清楚,还需要一些其他复杂逻辑,那么我们可以对某个字段,进行自定义验证。...,而是在模型中定义,因此一些错误消息无法在字段中定义。

3.1K40

Django简介

django有一个好处,代码更改之后,它会自动加载代码。而不需要重启django项目,网页就能更新了!.../',views.index),     path('login/',views.login), ] 在templates目录下创建文件login.html 注意:form表单标签名是form,不是from...在form表单中,有GET和POST。它是根据method属性决定!一般表单使用POST 再次访问url,输入表单信息,点击提交。 输出ok,表示正常。注意:这里还没有做登录认证,下面会讲到! ?...请求方式: POST。GET数据为空。POST数据是一个字典 登录认证 正常网站,用户名和密码是保存在数据库中。由于还没有学到django连接数据库,所以这里将用户名和密码写死,模拟登录行为。...那么会获取当前url域名/IP加端口。和action属性拼接,得到完整url,比如:http://127.0.0.1:8000/auth/。将表单数据以POST方式发送给此url。

1.6K20

Django之视图层与模板层

键')获取相对应值 针对表单中checkbox类型input标签、select标签提交数据,键对应值为多个,需要用: HttpRequest.POST.getlist("hobbies")获取存有多个值列表...会对它做进一步处理与封装以便我们更为方便地提取数据,比如 对于form表单来说,提交数据常用方法为GET与POST 1:如果表单属性method='GET',那么在提交表单时,表单内数据不会存放于请求体中...2:如果表单属性method='POST',那么在提交表单时,表单所有数据都会存放于请求体中,在发送给django 后会封装到request.body里,此时django为了方便我们提取数据,会...1.5CBV源码 为什么CBV能够根据不同请求方式自动执行不同代码呢?... {% endfor %} 2.3.3with标签 with标签用来给一个复杂变量名起别名,如果变量值来自于数据库,在起别名后只需要使用别名即可,无需每次都向数据库发送请求重新获取变量值,

9.1K10

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

admin 管理界面 为了可以和用户进行交流,我们需要获取用户一些评论之类,所以我们需要通过表单让用户提交信息,接下来我们将了解下 django 表单 django 表单 存在相应模型(POST...# 表单对应数据库模型 model = Post # 指定表单需要显示字段 fields = ['title', 'body'] 2.创建表单视图 from...def new_post(request): # Http 请求包括 POST 和 GET 两种,一般提交数据都是用 POST 请求 # 因此当 request.method 为 POST...= PostForm(request.POST) # 判断表单是否有效django 自动校验表单数据是否合理,根据模型字段类型来判断 if form.is_valid...提交反馈错误 类似搜索表单(GET) 1.创建表单视图 def search(request): # 获取到用户提交搜索关键词,字典键值同模版中 name 属性值 q = request.GET.get

2.8K20

初识Django之前端后端与数据库配置

form表单默认是get请求,get请求携带数据方式: http://127.0.0.1:8000/login/?...Django后端视图函数默认是get请求,无论是get请求还是post请求都会执行视图函数 def XXX(request):#XXX是请求页面后缀 return render(****)...4.2request.POST与request.GET request.POST获取用户提交post请求数据: 我们可以将request.POST数据看做一个字典,字典内value是一个个列表...,request.POST.get()获取列表中最后一个元素,request.POST.getlist()获取用户提交整个列表。...'str'> request.GET获取用户提交get请求数据,与request.POST相同request.GET也有get和getlist方法,取值方式和获取数据类型和request.POST

1.6K21
领券