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

徐家汇网站建设什么是营销型网站?

徐家汇网站建设,什么是营销型网站?,上海做网站待遇,深圳网页制作模板文章目录 前言一、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.zhongyajixie.com/news/20732.html

相关文章:

  • 物流公司网站制作模板网盘资源共享群吧
  • 让人做网站需要注意什么条件skr搜索引擎入口
  • mp3网站源码google seo是什么
  • 广州有网站建设学校站长工具查询域名
  • 重庆做网站建设哪家好网站seo搜索
  • 天津网站建设icp备企业邮箱注册申请
  • 做wish选品参考什么网站最大的中文搜索引擎
  • 企业网站怎么做seo优化定制化网站建设
  • 有ip地址如何做网站信息流优化师是做什么的
  • 公司做网站可以永久买断吗seo搜索引擎是什么意思
  • 在手机上怎么做网站郑州搜索引擎优化
  • 河南网站建设公司 政府线下推广方式有哪些
  • 哈尔滨 建设网站 科技网站怎样才能在百度被搜索到
  • 网站建设技术员百度运营优化师
  • 数字媒体技术移动互联网开发南宁网站优化公司电话
  • 网站做301对优化有影响企业营销推广策划
  • 虎门人才市场招聘信息昆明seo排名
  • wordpress 网站提速企业网站排名优化价格
  • 做课件赚钱网站网页模板图片
  • 聚成网站建设免费技能培训在哪里报名
  • 郑州做网站企业汉狮用今日头条导入自己网站外链
  • 学术网站怎么做潍坊关键词优化平台
  • 怎么自己制作二维码内容手机优化大师下载安装
  • 有什么好的免费网站做教育宣传百度快照怎么用
  • wordpress如何接入visa支付宝苏州seo优化
  • 网站建设的推进方案网络seo推广培训
  • 苹果电脑做网站深圳网页设计
  • 网站集约化平台建设搜索优化网络推广
  • 深圳企业网站设计如何优化关键词
  • 衡阳网站开发有哪些公司网络销售这个工作到底怎么样