Python3使用Django创建网站并使用mysql(第四部分)

8 篇文章 0 订阅
5 篇文章 0 订阅

前序:

系统:Windows 10
IDE:PyCharm
Python:3.7.1
Django:2.2
mysql:mysql-8.0.15-winx64
Python3使用Django创建网站并使用mysql(第一部分)
Python3使用Django创建网站并使用mysql(第二部分)
Python3使用Django创建网站并使用mysql(第三部分)
这次第四部分主要建立一个适当的表,与Django网站一起完成注册与登录的功能,看到这里,我觉得学习的也差不多了,这应该就是最后一部分了。

一、完整的表,models.py代码如下:

from django.db import models

# Create your models here.
class UserInfo(models.Model):
    username = models.CharField(max_length=20, default='')
    password = models.CharField(max_length=20, default='')
    nickname = models.CharField(max_length=20, null=True)
    admin = models.BooleanField(null=True)
    gold = models.IntegerField(null=True)
    counter = models.IntegerField(null=True)
    address = models.CharField(max_length=20, null=True)
    email = models.CharField(max_length=20, null=True)
    photo = models.CharField(max_length=50, null=True)

在这里插入图片描述
然后运行命令更新数据库,在Terminal执行python manage.py makemigrations,再执行python manage.py migrate就更新完成了。
注(没遇到不用看 ) : 我遇到了一个BUG就是model.py已经更改,但仍运行以前的代码,这时候需要打开你建立的APP文件夹(我的是login),找到__pycache__文件夹删除models.cpython-37.pyc文件(要去资源管理器)。
在这里插入图片描述

二、与之对应的注册页面

  1. register.html文件
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
        <form action="/register/" method="post">
            {% csrf_token %}
            <input type="text" name="username" class="username" placeholder="Username"><br>
            <input type="password" name="password" class="password" placeholder="Password"><br>
            <input type="password" name="ack_password" class="ack_password" placeholder="AckPassword"><br>
            <input type="text" name="nickname" class="nickname" placeholder="NickName"><br>
            <input type="text" name="address" class="address" placeholder="Address"><br>
            <input type="text" name="email" class="email" placeholder="Email"><br>
            <button type="submit">注册</button>
        </form>
</body>
</html>

在这里插入图片描述

  1. 更新urls.py文件
from django.contrib import admin
from django.urls import path
from login import views
from django.conf.urls import include, url

urlpatterns = [
    path(r'', views.index),
    path(r'admin/', admin.site.urls),
    path(r'index/', views.index),
    path(r'userlist/', views.userlist),
    path(r'register/', views.register),
]

在这里插入图片描述
第一行是说没有指向url,默认去index,第二行是超级用户后台的url(可以去百度一下就懂了,不想要可以删去)

三、修改view.py文件如下:

from django.shortcuts import render
from django.shortcuts import redirect
from login import models

# Create your views here.
def index(request):
    return render(request, 'index.html')

def userlist(request):
    if request.method == 'POST':
        username = request.POST.get('username', None)
        password = request.POST.get('password', None)
        try:
            data_pass = models.UserInfo.objects.get(username=username).password
            if password == data_pass:
                temp = {'username': username, 'password': password}
                return render(request, 'userlist.html', {'data': temp})
            else:
                return render(request, 'index.html')
        except:
            return render(request, 'index.html')

def register(request):
    try:
        if request.method == 'POST':
            username = request.POST.get('username', None)
            password = request.POST.get('password', None)
            nickname = request.POST.get('nickname', None)
            address = request.POST.get('address', None)
            email = request.POST.get('email', None)
            models.UserInfo(username = username,password = password,nickname = nickname,
                            admin = False,gold = 500,counter = 100,address = address,
                            email = email,photo = 'photoo_path').save()
            temp = {'username': username, 'password': password,'msg': '注册成功'}
            return render(request, 'userlist.html',{'data': temp})
        else:
            return render(request, 'register.html')
    except:
        return render(request, 'register.html')

这里更新了登录方法,并且新写了注册方法

  1. 先看新写的注册方法:
    在这里插入图片描述
  2. 再看新的登录方法:
    在这里插入图片描述
    都还算简单,不解释了

五、更新用户登陆成功的网页,userlist.html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>用户登录后第一个页面</title>
</head>
<body>

{{ data.username }}
{{ data.password }}
{{ data.msg }}
</body>
</html>

在这里插入图片描述

六、完结展示

  1. 注册
    在这里插入图片描述
    在这里插入图片描述
  2. 登录
    在这里插入图片描述
    在这里插入图片描述

总结:这是在自己学习的过程中写出来的博客,可能会有不足与错误,但希望能给大家带来一定的参考价值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值