美文网首页python_web开发
web接口开发测试之--django开发登录界面

web接口开发测试之--django开发登录界面

作者: 胆小的米老鼠 | 来源:发表于2018-09-12 08:56 被阅读16次

本文章示例是创建一个登录的界面,输入用户名和密码,并进行用户验证,点击登录后跳转一个我们指定的页面。

应用中的views.py代码展示:

from django.shortcuts import render
from django.http import  HttpResponseRedirect
# Create your views here.
from django.http import HttpResponse
from django.contrib import auth

def index(request):
    return render(request,"index.html")

def login_action(request):
    if request.method=="POST":
        username = request.POST.get("username")
        password = request.POST.get("password")

        if username =="admin" and password =="admin123":
            #验证用户名
            user = auth.authenticate(username=username,password=password)
            if user is not None:
                auth.login(request,user)

            response = HttpResponseRedirect("/even_manage")
            request.session["user"] = username#把cookies添加到浏览器
            return  response

def even_manage(request):
    username = request.session.get("user" ,"") #获取浏览器的session
    return render(request,"even_manage.html" ,{"user":username})

templates/index.html代码展示:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h2>会义签到登录</h2>
    <form method ="post" action = "/login_action/">
        <input name="username" type="text" placeholder="username" ><br>
        <input name="password" type="text" placeholder="username"><br>
        <button id="btn" type="submit">登录</button>


    </form>

</body>
</html>

templates/even_manage代码展示:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>整天给我出问题</h1>
</body>
</html>

项目urls.py代码展示:

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^sign/$', include("sign.urls")),
    url(r'^login_action/$', views.login_action),
    url(r'^even_manage/$', views.even_manage),
]

应用中urls.py代码式展示:

from  django.conf.urls import url
from . import views
urlpatterns=[

    url(r"^$",views.index ,name="index"),
    url(r"^$",views.login_action ,name="login_action"),
    url(r"^$",views.even_manage ,name="even_manage"),

]

效果图,是不是很简陋?

如果想限制网页要登录才能访问只需要在函数的前面加上@login_required,

如果读者不太明白,目录文件名代表什么意思,可以参考一下以前的笔记文章。

相关文章

网友评论

    本文标题:web接口开发测试之--django开发登录界面

    本文链接:https://www.haomeiwen.com/subject/rfosgftx.html