django的登录问题

在初始化的登录中,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的表的统一

你可能感兴趣的:(django,django)