跨过Django的坑
在最近的Django的学习中,慢慢的开始踩坑,开此栏,专为收纳Django的坑,在以后的学习中以便警示。(使用工具为pycharm专业版2018.2.4,python3.5.2,Django版本2.1.3)
1、关于提取表单的数据。
在前端通过表单提交数据,请求为post的请求,method="post",这里的post不用区分大小写:
<form action="index/" method="post"> #这里不用区分大小写
{#<form action={% url "chris" %} } method="POST">#}
<input type="text" name="username">
<input type="password" name="pwd">
<input type="submit" value="submit">
</form>
关键部分是在views中提取数据,如获取前端提交的username和pwd,代码为:
def index(request):
if request.method == 'POST': #这里POST一定要大写!
print("获取到数据了。")
username = request.POST.get("username") #这里POST一定要大写!
pwd = request.POST.get("pwd") #这里POST一定要大写!
if username == 'chris' and pwd == '':
return HttpResponse('登录成功!')
另外,在获取数据时如果不是大写POST,页面会返回错误信息如下:

2、关于CSRF(跨站请求伪造)验证失败
在一开始的测试中,每次访问服务器,网页提示CSRF验证失败,请求终止。这个CSRF是Django的一种安全机制,可以一定程度的防止其他网站伪造入侵。
具体错误如下:

这些提示并没有看懂什么意思,但也按照提到的某些关键词在django中设置过,比如把DEBUG=True该为DEBUG=False等等,最终都没成功。
最后是把关于那个CSRF验证的机制的代码给注释掉就解决这个问题,如下:

那样注释掉是一种逃避的方式,最好不要采取,还有一种就是在html页面表单旁加 {% csrf_token %}就可以解决。
跨过Django的坑的更多相关文章
- 关于django的坑(一)
关于django orm 的坑: 关于设置数据库表自动更新 django的orm关于更新数据库的方法有update和save两种方法.想要表中自动更新需要一下几个条件: 使用 DateTimeFiel ...
- 我踩过的Django的坑
把自己在使用Django过程中吃过的亏 踩过的坑 记录一下 1. unique_together传的是元组 正确:unique_together = (('app_id', 'module_id', ...
- 跨过几个坑,终于完成了我的第一个Xamarin Android App!
时间过得真快,距离上次发随笔又是一年多.作为上次发的我的第一个WP8.1应用总结的后继,这次同样的主要功能,改为实现安卓版APP.前几个月巨硬收购Xamarin,把Xamarin集成到VS里了,大大方 ...
- install django采坑
1. install python 3 2. install pip 3. install virtual enviroment : python -m venv myvenv 4. 切换到virt ...
- Django的坑
静态地址:我还没有向服务器部署,这只是临时方案 编辑项目setting.py,(main/setting.py)最下面一部分# Static files (CSS, JavaScript, Image ...
- django踩坑
django输入localhost或者127.0.0.1可以进入,输入自己ip报错 结局方案: 首先找到自己的项目的setting.py文件 找到——> ALLOWED_HOSTS = [] 修 ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- 【Django入坑之路】Models操作
1:字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 pr ...
- 【Django入坑之路】admin组件
1:settings.py 中的 INSTALLED_APPS # Application definition INSTALLED_APPS = [ 'django.contrib.admin', ...
随机推荐
- 轻量级web富文本框——wangEditor使用手册(6)——配置“上传图片”功能
最新版wangEditor: 配置说明:http://www.wangeditor.com/doc.html demo演示:http://www.wangeditor.com/wangEditor/d ...
- MVC源码分析 - View
感觉好久没有学习了, 汗. 年就这么过完了, 感觉没有尝到过年的味道. 现在的年过的有些冷清了. 除了体重证明着我过了一个年, 还有一件值得开心的事情, 终于把女朋友变成未婚妻了. 这是一大进步吧. ...
- 你真的理解编码吗?unicode,utf8,utf16详解
背景 前两天在网上看到一篇关于编码的讨论,仔细学习了一下unicode,utf8,utf16的定义.这篇博客旨在让读者真正理解他们是什么. 什么是编码 在阅读本文之前建议读者先去阅读这篇文章:http ...
- 进程间通信 IPC(Inter-Process Communication)
目录 一.管道 二.FIFO 三.消息队列 四.信号量 五.共享存储 六.网络IPC:套接字 一.管道 管道是进程间通信中最古老的方式,所有UNIX都提供此种通信机制.管道有以下两种局限性: 历史 ...
- Customizing docker
Customizing docker The Docker systemd unit can be customized by overriding the unit that ships with ...
- git第二节----git clone与git tag
@git 远程克隆(clone)仓库,将远程工程clone到本地仓库:默认克隆远程master 分支 git clone https://github.com/kaokaozhu/Test.git ...
- UVA 1605 Building for UN(思维)
题目链接: https://cn.vjudge.net/problem/UVA-1605#author=0 /* 问题 设计一个包含若干层的联合国大厦,其中每一层都是等大的网格,每个格子分配给一个国家 ...
- ConcurrentHashMap 扩容分析拾遗
前言 这是一篇对 transfer 方法的拾遗,关于之前那篇文章的一些一笔带过,或者当时不知道的地方进行回顾. 疑点 1. 为什么将链表拆成两份的时候,0 在低位,1 在高位? 回顾一下 transf ...
- 24.Linux-Nand Flash驱动(分析MTD层并制作NAND驱动)
1.本节使用的nand flash型号为K9F2G08U0M,它的命令如下: 1.1我们以上图的read id(读ID)为例,它的时序图如下: 首先需要使能CE片选 1)使能CLE 2)发送0X90命 ...
- 【Java面试】2、面试题汇总
Java基础部分 面试题总汇--JAVA基础部分 http://www.cnblogs.com/hyhnet/p/5544817.html 115个Java面试题和答案——终极列表(上) http:/ ...