form表单:
form表单写在HTML文件里
两个属性:
action属性定义在提交表单时执行的动作。向服务器提交表单的通常做法是使用提交按钮。通常,表单会被提交到 web 服务器上的网页。如果省略 action 属性,则 action 会被设置为当前页面。
method属性规定在提交表单时所用的 HTTP 方法(GET 或 POST)
- 使用GET:如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息时,应该使用GET。当使用 GET 时,表单数据在页面地址栏中是可见的。
- 使用POST:如果表单正在更新数据,或者包含敏感信息,比如说密码时,应该使用POST。POST 的安全性更加,因为在页面地址栏中被提交的数据是不可见的。
input元素:
分类
- text:常规文本输入
- radio:单选按钮输入
- submit:提交按钮
文本输入
<input type="text" name = "userName">
根据设置的name来获取输入的值
单选按钮
<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女
多个选项中仅可选择一项,有排他性,同样是根据设置的name的值来获取选择的值,值就是value中的值
提交按钮
<input type="submit" value="注册">
用于提交form表单的按钮,value中的值是用来显示在按钮上的
我们做一个简单的注册系统,用户输入自己的信息点击注册,我们就把用户输入的信息提交到数据库中
首先我们写一个基础的注册页面
csrf :跨域请求攻击
Django为了防止csrf攻击,定义csrf中间件,所以所有的post请求多应该在form表单下的第一行添加csrftoken标签
然后我们在数据库里建一个数据表(表名为user)用来存储这些信息
在视图文件vivew.py中定义一个函数,用来调用前端页面并向数据库中写入数据
假如我们的视图函数需要接收post请求,那么,我们的加载模块必须是render
render 和其他方法唯一的不同就是第一个参数需要是request
当然路由文件中不要忘了加上我们刚定义的函数
好了,启动项目,在浏览器地址栏输入http://127.0.0.1:8000/register/
输入数据、点击注册,数据就存到数据库里了