1、首先创建一个Django项目,在自动生成的templates中写两个html文件
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<h1>登录</h1>
<form action="/login/" method="post">
用户名:<input type="text" name="请输入用户名" style="margin-left:18px;margin-top:20px" autocomplete="off"><br>
密 码:<input type="password" name="请输入密码" style="margin-left:30px;margin-top:20px" autocomplete="off"><br>
<input type="submit" value="登录" style="margin-left:80px;margin-top:20px"><br>
</form>
</body>
</html>
register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>register</title>
</head>
<body>
<h1>注册</h1>
<form action="" method="post">
用户名:<input type="text" name="请输入用户名" style="margin-left:18px;margin-top:10px" autocomplete="off"><br><br>
密码:<input type="password" name="请输入密码" style="margin-left:33px;margin-top:10px" autocomplete="off"><br><br>
确认密码:<input type="password" name="请输入确认密码" style="margin-top:10px" autocomplete="off"><br><br>
<input type="submit" value="注册" style="margin-left:80px;margin-top:10px" style='background-color:red'><br>
</form>
</body>
</html>
修改url.py如下:
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from Test import views #导入Test应用的views文件
urlpatterns = [
path('admin/', admin.site.urls),
# url(r'index/',views.index),#添加index/的路径配置
url(r'^login', views.login),
url(r'^register', views.register),
]
创建类,将models.py里的代码修改如下:
from django.db import models
# Create your models here.
class User(models.Model):
id = models.AutoField(primary_key=True)
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
将views.py里的代码修改如下:
from django.shortcuts import render, HttpResponse, redirect
from Test import models
# Create your views here.
def login(request):
if request.method == 'GET':
return render(request, 'login.html')
if request.method == 'POST':
username = request.POST.get('请输入用户名')
password = request.POST.get('请输入密码')
user_obj = models.User.objects.filter(name=username, pwd=password).first()
if user_obj:
return HttpResponse('登录成功')
else:
return HttpResponse('用户名或密码错误')
def register(request):
if request.method == 'GET':
return render(request, 'register.html')
if request.method == 'POST':
username = request.POST.get('请输入用户名')
password = request.POST.get('请输入密码')
repeat_password = request.POST.get('请输入确认密码')
if not username:
return HttpResponse('用户名不能为空')
if not password:
return HttpResponse('密码不能为空')
if not repeat_password:
return HttpResponse('确认密码不能为空')
if username and password and repeat_password:
if password == repeat_password:
# filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
user_project = models.User.objects.filter(name=username).first()
if user_project:
return HttpResponse('用户名已存在')
else:
models.User.objects.create(name=username, pwd=password).save()
return redirect('/login/')
else:
return HttpResponse('两次输入的密码不一致')
接下来创建数据库表
1、打开cmd窗口,cd切换到manage.py目录下,输入如下两条命令,即可创建数据表
- python manage.py makemigrations
- python manage.py migrate
2、运行项目
打开cmd窗口,cd切换到manage.py目录下,输入:
python manage.py runserver
在浏览器中输入:http://127.0.0.1:8000/register/
在浏览器中输入:http://127.0.0.1:8000/login/
大功告成!!!