当前位置: 首页 > 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.yayakq.cn/news/97965/

相关文章:

  • 做网站和做软件哪个难phpok做网站教程
  • 无备案网站做cdn什么网站做h5好
  • 5自己建网站网站开发源代码 百度文库
  • 建设自己公司的网站大连专业网站建设
  • 怎么查网站备案进度做企业网站模板可以seo
  • 石家庄建设局官方网站国内看网站 优帮云
  • 温岭建设规划局网站js导入wordpress
  • 做h5哪些网站好 知乎东莞市环保局网站如何做登记表
  • 上海做壁画的网站室内设计学校培训的
  • 湛江做网站制作福州盈科网站建设有限公司怎么样
  • 广州自助建站模板国内自适应网站
  • 网站分析 工具茂名网站建设解决方案
  • 搜索网站有哪些深圳航空公司最新招聘
  • 攸县住房和城乡规划建设局网站公司网站不备案
  • 移动深圳网站西安网址
  • 平台门户网站建设方案wordpress加速优化服务器
  • 上海网站建设海淘科技天津工程建设信息网站
  • 家教响应式网站网站怎么添加模块
  • 台州哪家做企业网站比较好怎么上传网站图片的链接
  • 越秀区pc端网站建设龙口有没有做网站的
  • 网站服务器设置免费网站导航建设
  • 石家庄自适应网站建设吉林省建设标准化网站
  • 视频网站开发公司有哪些公司广州网络维护
  • 网站开发 接活营销和运营的区别是什么
  • 刷题网站开发无代码app制作平台
  • 大兴网站建设首选公司怎么制作公众号推送
  • 在线看免费观看视频网站大全微博秀 wordpress
  • 简述php网站开发流程图网站目标定位分析
  • 查看网站被百度收录虚拟主机空间 配置 网站
  • 北京网站建设模板下载wordpress添加链接