小姨想开水果店,那我用Django做一个天天生鲜项目!

注册基本逻辑

显示注册页面

1,放入templates模板文件中, 2,修改user,vews.py, 3,修改项目应用user的urls.py 4,在html导入静态资源,

进行注册处理

1,修改提交地址,定义register_handle函数,添加url到user的urls.py中 2,接收数据

#接收数据
	username = request.POST.get(’user_name‘)
	password = request.POST.get('pwd)
	email = request.POST.get('email')
	allow = request.POST.get('allow')
#进行数据校验
if not all([username,password,email]):
	#数据不完整
	retuen render(request, 'register.html',{'errmsg':'数据不完整'})
#校验邮箱
if not re.match(r'^[]0-------正则' , emali)
	return render (request,'register.html',{errmsg:'邮箱格式不正确'})
if allow!='on':
	return render(request,'register.html',{'errmsg':'请同意协议'})
#进行业务处理;进行用户注册
	#使用Django的认证方法
user = User.object.create_user(username,email,password)
user.is_active = 0  #修改激活状态
user.save()
#返回应答,跳转到首页
	将首页index.html放到模板文件中templates,在goods写入views视图,函数def index(), 配置goods的urls.py,
使用反向解析
	return  redirect(reverse('goods':'index'))
查看数据库
select* from df_user \G

显示注册页面和页面处理使用同意个url地址

1,修改hml文件中的提交地址
2,通过请求方式POST,和GET进行判断显示和处理,
if  request.match==GET:
	pass
else:
	pass

类视图(建议用这个)

1,类继承View
from django.views.generic import View

class MyView(View):
	def get(sel,request):
		return 
	def post
2,修改应用的urls.py,
 from myapp,views import MyView
urlpatterns = [
url(r'^',MyView.as_view()),
]

生成激活用户的tokon

#发送激活邮件,包含激活链接;/user/active/
	#激活链接中需要包含用户的身份信息并且把身份信息进行加密
	pip install itsdangerous 
	dump()加密,loads()解密
	#加密身份信息,生成激活的tokon

注册用户激活流程

1,在view中添加激活类视图 2,配置urls地址,使用正则捕获参数

进行创建登录视图函数

django内置函数发送激活邮件

django.core.mail 1,进行开启smtp服务 2,在setting进行配置文件

3,在接收数据处理函数中添加 发邮件操作

celery异步发送邮件

1,创建celery_tasks python包,在包里创建Celery实例对象,配置中间人

原发邮件位置改为

如果不是一台电脑需要在文件中增加配置代码

未完待续!

近期有很多朋友通过私信咨询有关Python学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

猜你喜欢

转载自blog.csdn.net/weixin_43881394/article/details/112565921
今日推荐