当前位置: 首页 > news >正文

徐家汇网站建设软文营销写作技巧

徐家汇网站建设,软文营销写作技巧,商城网站流程,网站建设捌金手指专业8文章目录 前言一、django配置二、后端实现1.新建app2.编写view3.配置路由 三、前端编写1、index.html2、register.html3、 login.html 总结 前言 之前,写了django制作简易登录系统,这次利用django内置的authentication功能实现注册、登录 提示&#xff…

文章目录

  • 前言
  • 一、django配置
  • 二、后端实现
    • 1.新建app
    • 2.编写view
    • 3.配置路由
  • 三、前端编写
    • 1、index.html
    • 2、register.html
    • 3、 login.html
  • 总结


前言

之前,写了django制作简易登录系统,这次利用django内置的authentication功能实现注册、登录


提示:可参考之前的文章
Django制作简易注册登录系统

一、django配置

python包具体配置见之前的文章,和之前一样,注释掉跨域,引入mysql
authentication需要额外引入redis

CACHES = {"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://ip:6379","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient",}},"session": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://ip:6379/1","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient","CONNECTION_POOL_KWARGS": {"max_connections": 100}}}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = "session"
SESSION_COOKIE_AGE = 500

二、后端实现

1.新建app

python manage.py startapp app名称

2.编写view

代码如下(示例):

# Create your views here.from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User
from django.http import JsonResponse
from django.shortcuts import redirect
from django.shortcuts import renderdef login1(request):if request.method == 'GET':print("GET")return render(request,'login.html',)elif request.method == 'POST':print("POST")# 获取参数user_name = request.POST.get('username', '')pwd = request.POST.get('password', '')# 用户已存在if User.objects.filter(username=user_name):# 使用内置方法验证user = authenticate(username=user_name, password=pwd)print(user)# 验证通过if user:# 用户已激活if user.is_active:login(request, user)request.session["current_user"] = user.username  # 将用户名存储在session中request.session.set_expiry(0)return render(request, "index.html")# 未激活else:return JsonResponse({'code': 403,'msg': '用户未激活'})# 验证失败else:return JsonResponse({'code': 403,'msg': '用户认证失败'})# 用户不存在else:return redirect('register')else:return render(request, 'login.html')def register(request):if request.method == "GET":return render(request, "register.html")elif request.method == "POST":username = request.POST.get('username', '')pwd = request.POST.get('password', '')if User.objects.filter(username=username):return JsonResponse({'code': 200,'msg': 'user exists'})else:user = User.objects.create_user(username=username, password=pwd)return JsonResponse({'code': 200,'msg': '注册成功,去登陆'})else:return render(request, 'register.html')def logout1(request):logout(request)request.session.clear()return redirect("index")def index(request):return render(request, "index.html")

3.配置路由

在app中新建urls.py

from django.urls import path
from loginapp import views
from loginapp.views import index, login1, register, logout1
urlpatterns = [path('', index, name='index'),  # 定义根路径'/'到index视图的映射path('login/', login1, name='login'),path('logout/', logout1, name='logout'),path('register/', register, name='register'),
]

主路由(刚建完项目时的那个目录下)修改如下

from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('', include('app名称.urls')),path('admin/', admin.site.urls),
]

三、前端编写

1、index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Home</title>
</head>
<body>{% if request.session.current_user %}<h1>Welcome, {{ request.session.current_user }}!</h1><p>You are logged in.</p><a href="{% url 'logout' %}">Logout</a>{% else %}<h1>Welcome, Guest!</h1><p>Please <a href="{% url 'login' %}">Login</a> or <a href="{% url 'register' %}">Register</a>.</p>{% endif %}
</body>
</html>

在这里插入图片描述

2、register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Register</title>
</head>
<body><h1>Register</h1><form method="post" action="{% url 'register' %}">{% csrf_token %}<label for="username">Username:</label><input type="text" id="username" name="username" required><br><br><label for="password">Password:</label><input type="password" id="password" name="password" required><br><br><button type="submit">Register</button></form><p>Already have an account? <a href="{% url 'login' %}">Login here</a>.</p>
</body>
</html>

3、 login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Login</title>
</head>
<body><h1>Login</h1><form method="post" action="{% url 'login' %}">{% csrf_token %}<label for="username">Username:</label><input type="text" id="username" name="username" required><br><br><label for="password">Password:</label><input type="password" id="password" name="password" required><br><br><button type="submit">Login</button></form><p>Don't have an account? <a href="{% url 'register' %}">Register here</a>.</p>
</body>
</html>

在这里插入图片描述
可以看到登陆后,欢迎<用户名>用户

总结

用户的认证内容存储在session中,我设置的过期时间是5分钟。
没有对出错情况进行处理,一旦出错仅展示报错json数据。

http://www.khdw.cn/news/37275.html

相关文章:

  • 网站开发常用技术电商平台网站
  • 网站对公司的作用是什么意思少儿编程
  • 正规的网站制作电话多少百度一下百度一下你就知道
  • 浙江省住房和建设厅网站盐城seo排名
  • 大量网站开发视频 文档VIP资源产品推广思路
  • 河北网站制作淘宝热搜关键词排行榜
  • 邢台做网站的seo 工具
  • 做百度网站需要多少钱长尾关键词网站
  • 网站seo诊断湖南岚鸿精准营销的成功案例
  • win2008 挂网站 404网站如何推广运营
  • 网上有做任务赚钱的网站有哪些云南网络推广服务
  • 哈尔滨快速建站合作网络营销方式有哪些分类
  • 写真盗版网站怎么做百度视频推广
  • 六安网站建设哪家靠谱网站统计哪个好用
  • 江苏质监站网站做资料免费涨1000粉丝网站
  • 黄岛网站建设多少钱在线子域名二级域名查询工具
  • 网站建设优化服务价格网站开发费用
  • 杭州网站建设公司电话长沙网站设计
  • 海外人才招聘网站中国新闻网发稿
  • 网站免费申请注册目前小说网站排名
  • 阜宁县住房与城乡建设局网站市场营销模式有哪些
  • 一个企业可以做多个网站吗怎样创建一个自己的网站
  • 网站制作培训价格郑州网站托管
  • 汇鑫小学网站建设百度云网盘资源搜索引擎入口
  • 网站优化费用怎么做会计分录站长平台官网
  • 怎么用视频做网站登录的背景推广技巧
  • 深圳建设集团待遇短视频seo排名系统
  • 横岗做网站佛山百度推广电话
  • 重庆当地网站百度一下搜索
  • 珠海做网站的网络公司网站流量统计