老男孩python全栈就业班第9期第3部分Django基础第61天Django ORM单表操作之添加新用户

Django ORM单表操作之添加新用户

1.进入目录 mysiteday61/mysiteday61,修改文件 urls.py,添加新的链接 add_user

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', views.login),
    path('user_list/', views.user_list),
    path('add_user/', views.add_user),
]

2.进入目录 mysiteday61/app01,修改文件 views.py

from django.shortcuts import render, HttpResponse, redirect
from app01 import models

# Create your views here.
# 专们用来放函数
# 登录的函数
def login(request):
    error_msg = ""
    if request.method == "POST": #这里必须是大写
        # 如果你是POST请求,我就取出提交的数据,做登录判断
        email = request.POST.get("email", None)
        pwd = request.POST.get("pwd", None)
        print(email, pwd)
        # 做是否登录成功的判断
        if email == "alex@oldboyedu.com" and pwd == "123456":
            #登录成功
            #回复一个特殊的响应,这个响应会让用户的浏览器请求指定的url
            return redirect("http://www.luffycity.com")
        else:
            # 登录失败
            error_msg = "邮箱或密码错误"
    #不是POST请求就走下面这一句
    return render(request, "login.html", {"error":error_msg})

# 展示所有的用户的函数
def user_list(request):
    # 去数据库中查询所有的用户
    # 利用ORM这个工具去查询数据库,不用自己去查询
    ret = models.UserInfo.objects.all()
    return render(request, "user_list.html", {"user_list":ret})

# 添加用户的函数
def add_user(request):
    if request.method == "POST":
        # 用户填写了新的用户名,并发送了POST请求过来
        new_name = request.POST.get("username", None)
        #去数据库中新创建一条用户记录
        models.UserInfo.objects.create(name = new_name)
        #return HttpResponse("添加成功")
        # 添加成功后直接跳转到用户列表页
        return redirect("/user_list/")

    # 第一个请求页面的时候,就返回一个页面,页面上有两个框让用户填写
    return render(request, "add_user.html")

3.进入目录 mysiteday61/templates,修改文件 user_list.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户列表</title>
</head>
<body>
<a href="/add_user/">添加用户</a>
    <table border="1">
        <thead>
            <tr>
                <td>id值</td>
                <td>用户名</td>
            </tr>
        </thead>
        <tbody>
            {% for user in user_list %}
                <tr>
                    <td>{{ user.id }}</td>
                    <td>{{ user.name }}</td>
                </tr>
            {% endfor %}

        </tbody>
    </table>
</body>
</html>

4.进入目录 mysiteday61/templates,添加文件 add_user.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加用户</title>
</head>
<body>
<form action="/add_user/" method="post">
    <p>用户名:
        <input type="text" name="username" />
    </p>
    <p>
        <input type="submit" value="提交" />
    </p>
</form>
</body>
</html>

5.测试 

 

 

 

 

 

 

posted on 2019-11-08 05:14  herisson_pan  阅读(16)  评论(0)    收藏  举报

导航