在初始化的登录中,index.html 和login.hrml在同一个文件夹内可以正常访问。添加表单
<form action="/ctf/index/" method="POST">
{% csrf_token %} //django 在post表单中自带的内容防止跨站请求伪造
<p><label>用户名:</label><input name="user"/></p>
<p><label>密码:</label><input name="pwd"/></p>
<input type="submit" value="提交">
</form>
在url.py中添加path
path('index/',views.Login_view),
在view中
def Login_view(request):
u=request.POST.get("user","")
p=request.POST.get("pwd","")
if u =='zhangsan'and p=='123':
return HttpResponse("登录成功")
else:
return HttpResponse("登录失败!")
利用mysql做登录
先在ctf的文件中找到modles.py中创建自己的数据模型
class ConInfo(models.Model):
Con_id = models.CharField(primary_key=True,max_length=20)
Con_name = models.CharField(max_length=20)
Con_psw = models.CharField(max_length = 20)
在讲数据模型迁移到数据库中
python manage.py makemigrations ctf
python manage.py migrate
登录数据库可查询表已经创建完毕,自己添加好一个信息。在views.py中修改文件
def Login_view(request):
u=request.POST.get("user","")
p=request.POST.get("pwd","")
if u and p:
c=ConInfo.objects.filter(Con_name=u,Con_psw=p).count()
if c >= 1:
return HttpResponse("登录成功")
else:
return HttpResponse("账号登录失败!")
else:
return HttpResponse("请输入账号密码!" )
数据库的表映射到models.py中
在数据库中有新建的表在终端执行
python manage.py inspectdb>ctf/models.py
就完成了mysql和django的表的统一