P.S如果要屏蔽CSRF
方法1:注释掉django工程settings.py中
‘django.middleware.csrf.CsrfViewMiddleware’
model 模型层
view 视图层 (def 逻辑方法)
Templates 模板 html页面
SQLite数据库
① 定义模型,打开 web1/app1/models.py
每一个模型就是一个类,此类必须继承models.Model
每一个模型 UserInfo <-----> 数据库中的表 UserInfo
用户表
ID Name Pwd email userSex c_time
1 admin 123456 648321@qq.com 男 2019-05-31 11:11:11
② 注册模型, 打开 web1/app1/admin.py
from django.contrib import admin
from . import models
Register your models here.
admin.site.register(models.UserInfo)
③ 使用命令创建表
Tools—> Run manage.py Task… —> 先输入 makemigrations 回车
—>再输入migrate—>表已创建成功。
查看 web1/app1/migrations/0001_initial.py 此文件出现了就代表成功
④ 创建超级用户
步骤1: Tools—> Run manage.py Task…
步骤2: 输入 createsuperuser
步骤3: 按照提示信息
输入用户名 qiufen
输入邮箱 696214321@qq.com
输入密码 hehe123
确认密码 hehe123
步骤4: 打开浏览器
http://127.0.0.1:8000/admin/ 输入用户名和密码
恭喜你,数据库创建成功,页面和数据库连接起来
功能1:注册
① 打开 web1/templates/user/register.html
修改 标签,因为提交给后台的数据就是通过这个标签提交
action 提交给谁? 地址必须要在urls.py配置
method 提交方式 get或者post,表单的话都是post
② 打开 web1/web1/urls.py
#添加了一个配置
url(r’^addUser/’,views.addUser),
③ 打开 web1/app1/views.py
def addUser(request):
#获取页面传递过来的值 get(‘必须是表单input中name属性值’)
username=request.POST.get(‘username’)
password = request.POST.get(‘password’)
email = request.POST.get(‘email’)
sex = request.POST.get(‘sex’)
# 测试值是否获取到了,输出值
print(username,password,email,sex)
#把值存储到数据中
try:
models.UserInfo.objects.create(name=username,pwd=password,email=email,usersex=sex)
return render(request, ‘user/login.html’)
except:
err=‘注册失败’
return render(request,‘user/register.html’,{‘errTip’:err})
④ 在页面中获取逻辑方法传递给页面的值在这里插入代码片
{{errTip}}
⑤ 测试
-功能2:登录
① 打开 web1/templates/user/login.html
修改 action 和 method
② 打开 web1/web1/urls.py
url(r’^userLogin/’,views.checkLogin),
③ 打开 web1/app1/views.py
def checkLogin(request):
# 1 获取页面传递的值
username=request.POST.get('username')
password=request.POST.get('password')
# 2 检查值是否获取到了
print(username,password)
# 3 获取所有的用户信息
userList=models.UserInfo.objects.all()
4 登录失败时的提示信息
err='用户名或者密码错误'
5 使用循环遍历所有用户
for u in userList:
# 判断输入用户名和密码是否正确
if u.name==username and u.pwd==password:
# 认为登录成功,成功跳转到主页面
return redirect('/app1/index')
# 登录失败,重新跳转登录页面,并且实现错误信息
return render(request,'user/login.html',locals())
④ 去login.html页面中显示错误信息
<div class="layui-form-item">
<div class="errTip">
{{ err}}
</div>
</div>
⑤ 检查
① 打开 web1/web1/urls.py
url(r’^app1/index/’,views.indexPage),
② 打开web1/app1/views.py
#用于访问主页面
def indexPage(request):
#把所有用户信息获取到
userList=models.UserInfo.objects.all()
return render(request, ‘index.html’,{‘userList’:userList})
③ 去index.html页面中显示数据
{% block content %}
{% for u in userList %}
{{ u.name}} {{ u.email}} {{ u.usersex}}
{% endfor %}
{% endblock %}