Django框架学习笔记(3.实现用户登录(下))

前面写到如果输入正确,跳转到百度

但我们希望输入正确之后跳转到自己的网页:

views.py:

from django.shortcuts import render
from django.shortcuts import redirect

def login(request):
    error_msg = ""
    if request.method == "POST":
        user = request.POST.get("user", None)
        pwd = request.POST.get("pwd", None)
        if user == "yiqing" and pwd == "handsome":
            return redirect("/home")
        else:
            error_msg = "用户名或密码错误"
    return render(request, "login.html", {"error_msg": error_msg})

def home(request):
    return render(request, "home.html")
新写的home.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body style="margin: 0">
<div style="height: 48px; background-color: blue"></div>
<div>
    <table>
        <tr>
            <td>亦轻</td>
            <td></td>
            <td>6666@163.com</td>
        </tr>
        <tr>
            <td>小广</td>
            <td></td>
            <td>66666@163.com</td>
        </tr>
    </table>
</div>
</body>
</html>
urls.py也修改下:

from django.contrib import admin
from django.urls import path
from cmdb.views import *
urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', login),
    path('home/', home),
]
这次如果输入用户名和密码正确,则跳转到:





django还有一种特殊的操作:

views.py:

from django.shortcuts import render
from django.shortcuts import redirect

def login(request):
    error_msg = ""
    if request.method == "POST":
        user = request.POST.get("user", None)
        pwd = request.POST.get("pwd", None)
        if user == "yiqing" and pwd == "handsome":
            return redirect("/home")
        else:
            error_msg = "用户名或密码错误"
    return render(request, "login.html", {"error_msg": error_msg})

USER_LIST = [
    {"username": "yiqing", "email": "66666@126.com", "gender": "男"}
]
for index in range(20):
    temp = {"username": "yiqing"+str(index), "email": "66666@126.com", "gender": "男"}
    USER_LIST.append(temp)
def home(request):
    return render(request, "home.html", {"user_list": USER_LIST})

home.html可以加入些代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body style="margin: 0">
<div style="height: 48px; background-color: blue"></div>
<div>
    <table>
        {% for row in user_list%}
        <tr>
            <td>{{ row.username }}</td>
            <td>{{ row.gender }}</td>
            <td>{{ row.email }}</td>
        </tr>
        {% endfor %}
    </table>
</div>
</body>
</html>

然后访问home:




接下来想在网页中修改这些数据:

views.py修改:

from django.shortcuts import render
from django.shortcuts import redirect

def login(request):
    error_msg = ""
    if request.method == "POST":
        user = request.POST.get("user", None)
        pwd = request.POST.get("pwd", None)
        if user == "yiqing" and pwd == "handsome":
            return redirect("/home")
        else:
            error_msg = "用户名或密码错误"
    return render(request, "login.html", {"error_msg": error_msg})

USER_LIST = [
    {"username": "yiqing", "email": "66666@126.com", "gender": "男"}
]
def home(request):
    if request.method == "POST":
        u = request.POST.get("username")
        e = request.POST.get("email")
        g = request.POST.get("gender")
        temp = {"username": u, "email": e, "gender": g}
        USER_LIST.append(temp)
    return render(request, "home.html", {"user_list": USER_LIST})

home.html也要做出相应的修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body style="margin: 0">
<div style="height: 48px; background-color: blue"></div>
<div>
    <form action="/home/" method="post">
        <input type="text" name="username" placeholder="用户名"/>
        <input type="text" name="email" placeholder="邮箱"/>
        <input type="text" name="gender" placeholder="性别"/>
        <input type="submit" value="添加"/>
    </form>
</div>
<div>
    <table>
        {% for row in user_list%}
        <tr>
            <td>{{ row.username }}</td>
            <td>{{ row.gender }}</td>
            <td>{{ row.email }}</td>
        </tr>
        {% endfor %}
    </table>
</div>
</body>
</html>

这时候运行:





可是,当我们重新运行的时候,这些数据又消实了,

如果想保存下来,就要加入数据库了。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值