傻瓜文档2

本文档详细介绍了如何使用Django框架创建一个包含验证码验证的登录、注册和注销功能的项目。首先,通过`django-admin startproject`创建项目,然后配置数据库连接,创建APP并设置视图。接着,建立验证码生成函数,并实现登录时的验证码验证。成功登录后,用户可以查看个人信息,同时提供注销功能清除session。最后,配置URL路由完成整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

			  欲练此功必先自宫
				||
				||
				||
				||
				||

带验证码的登录注册+注销
开始写django项目
在项目的文件夹目录 打开cmd
输入 django-admin startproject 项目名
添加环境 添加jdango包 添加sqlclient包
创建APP: python manage.py startapp App名字
在settings/INSTALLED_APPS 下添加APP的名字
setting/DATABASES 下修改
‘ENGINE’:‘django.db.backends.mysql’,
‘NAME’:‘数据库名称’,(打开cmd打开mysql客户端创建新的数据库:create database 数据库名)
‘HOST’:‘127.0.0.1’,
‘PORT’:‘3306’,
‘USER’:‘root’,
‘PASSWORD’:‘12345’,

在APP下新建文件夹templates
写login.html

{{ msg }}

{% csrt_token %}
账号
密码
验证码 {{ yzm }}看不清换一张
--------------------------------------------------- 去models写建表的函数 class UserInfo(models.Model): username = models.CharField(max_length=20,unique=True,null=False) pwd = models.CharField(max_length=10,null=False) --------------------------------------------- 这个类写完后 生成迁移文件:python manage.py makemigrations 执行迁移文件:python manage.py migrate --------------------------------------------- 输入 python manage.py shell 进入shell 添加用户(在没有注册的情况) 导包: from App名字.models import * UserInfo.objects.create(username='admin',pwd='123')
quit()

写成功的页面chenggong.html 带注销

注销

欢迎{{ user.username }}登录


在views.py中写函数
import random
import string
from aini.models import UserInfo
from django.shortcuts import render,HttpResponse,redirect

def get_yzm():
yzm = ‘’
aStr = string.ascii_letters+string.digits
for i in range(4):
yzm += random.choice(aStr)
return yzm

def login(request):
if request.method == ‘GET’:
yzm = get_yzm()
data = {
‘yzm’:yzm
}
request.session[‘yzm’] = yzm
return render(request,‘login.html’)
else:
username = request.POST.get(‘username’,’’).strip()
pwd = request.POST.get(‘pwd’,’’).strip()
yzm = request.POST.get(‘yzm’,’’).strip()
data = {}
if yzm.lower() != request.session.get(‘yzm’).lower():
data[‘msg’] = ‘验证码输入有误’
elif not UserInfo.objects.filter(username=username,pwd=pwd):
data[‘msg’] = ‘账号密码有误’
else:
user = UserInfo.objects.get(username=username,pwd=pwd)
data = {
‘username’ : user.username
}
id = user.pk
request.session[‘id’] = id
return redirect(’/datail/’)
yzm = get_yzm()
data[‘yzm’] = yzm
request.session[‘yzm’] = yzm
return render(request, ‘login.html’)

def datail(request):
id = request.session.get(‘id’,’’)
if id:
user = UserInfo.objects.get(pk=id)
data = {‘user’:user}
return render(request,‘chenggong.html’,data)
else:
return redirect(’/login/’)

#注销
def logout(request):
request.session.flush()
return redirect(’/login/’)

配置URL
from App名字.views import *
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘login/’,login),
path(‘detil/’,detil),
path(‘logout/’,logout),
]

运行项目:python manage.py runserver

			不宫也行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值