Django入门-登录(写死用户名、密码)
django入门介绍:https://www.cnblogs.com/feifei-cyj/p/11029307.html
1、新建django项目
django-admin startproject loginDemo

2、新建app
django-admin startapp loginApp

3、pycharm打开新建的django项目


4、settings增加app名称

5、修改url.py文件
from django.conf.urls import url
from django.contrib import admin
from loginApp import views #导入包,从app的views导入
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/',views.login) #增加这行代码,表示可以访问http://127.0.0.1:8000/login
]
6、修改views.py文件,增加login处理方法
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def login(request):
return HttpResponse("hello")
7、 python3 manage.py runserver启动
说明:如果提示端口被占用,ps -ef |grep 8000,kill -9 (pid数字)

8、启动之后,在浏览器访问 http://127.0.0.1:8000/login ,即可看到

9、前端界面用templates

<html>
<head><title>Django Page</title></head>
<body><h1>发布会管理</h1>
<form method="POST">
<input name="username" type="text" placeholder="username"><br>
<input name="password" type="password" placeholder="password"><br>
<button id="btn" type="submit">登录</button>
{% csrf_token %}
</form>
</body>
</html>
修改views.py
def login(request):
return render(request, "login.html")
在浏览器访问 http://127.0.0.1:8000/login,可以看到:

10、修改templates/login.html文件
<html> <head><title>Django Page</title></head> <body><h1>发布会管理</h1> <form method="POST" action="/login_action/"> #增加重定向后的方法,后面一定要加/,不然会报错 <input name="username" type="text" placeholder="username"><br> <input name="password" type="password" placeholder="password"><br> <button id="btn" type="submit">登录</button> {% csrf_token %} </form> </body> </html>
说明:出现这个错误,就是上面的重定向<form method="POST" action="/login_action/"> login_action后没有加/


def login_action(request):
if request.method == 'POST':
username=request.POST.get("username","")
password=request.POST.get("password","")
if username == "admin" and password == 'admin':
return HttpResponse("登录成功")
else:
return render(request,"login.html",{'error':'用户名或者密码错误'}) #顺带着返回错误提示的字典,返回给前端显示
<html>
<head><title>Django Page</title></head>
<body><h1>发布会管理</h1>
<form method="POST" action="/login_action/">
<input name="username" type="text" placeholder="username"><br>
<input name="password" type="password" placeholder="password"><br>
{{ error }} <br/> #接受后端返回的错误信息,显示在界面上
<button id="btn" type="submit">登录</button>
{% csrf_token %}
</form>
</body>
</html>
11、 在浏览器访问 http://127.0.0.1:8000/login
成功:

失败:

12、新增登录成功界面,event_manage.html

<html> <head><title>发布会管理</title></head> <body> <h1>登录成功</h1> </body> </html>
13、修改urls.py

from django.conf.urls import url
from django.contrib import admin
from loginApp import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/',views.login),
url(r'^login_action/',views.login_action),
url(r'^event_manage/',views.event_manage)
]
14、修改views.py
def login_action(request):
if request.method == 'POST':
username=request.POST.get("username","")
password=request.POST.get("password","")
if username == "admin" and password == 'admin':
# return HttpResponse("登录成功")
return HttpResponseRedirect('/event_manage/')
else:
return render(request,"login.html",{'error':'用户名或者密码错误'})
def event_manage(request):
return render(request,'event_manage.html')
15、在浏览器访问 http://127.0.0.1:8000/login,输入正确用户名密码,可以重定向到新的页面

github源代码:https://github.com/Oneperson1128/DjangoDemo.git 本文章参考loginDemo文件夹
本文来自博客园,作者:Yi个人,转载请注明原文链接:https://www.cnblogs.com/feifei-cyj/p/14402366.html

浙公网安备 33010602011771号