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

营销型网站价格实惠个人网站推广费用

营销型网站价格实惠,个人网站推广费用,优惠活动制作网站,黄石seo诊断Django实现登录注册 目录 Django实现登录注册配置路由首页注册前端#xff1a;后端#xff1a; 登录前端#xff1a;后端#xff1a;验证码部分逻辑 配置路由 首先分发路由[User,Blog,Article] from django.contrib import admin from django.urls import path from Blog…Django实现登录注册 目录 Django实现登录注册配置路由首页注册前端后端 登录前端后端验证码部分逻辑 配置路由 首先分发路由[User,Blog,Article] from django.contrib import admin from django.urls import path from Blog import views from django.conf.urls import includeurlpatterns [path(admin/, admin.site.urls),path(, views.home, namehome),path(User/, include(User.urls, namespaceUser)),path(Blog/, include(Blog.urls, namespaceBlog)),path(Article/, include(Article.urls, namespaceArticle)), ]配置路由 urlpatterns [path(register/, views.register, nameregister),path(login/, views.login, namelogin),# 返回图片路由path(get_verify_img/, views.get_verify_img, nameget_verify_img),path(blog/, views.blog, nameblog), ]首页 def home(request):if request.session.get(user):online_user request.session.get(user)else:online_user 登录return render(request, home.html, locals()){% load static %} !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title!-- 引入jQuery--script src{% static js/jquery.js %}/script!-- 引入Bootstrap的CSS文件--link href{% static css/bootstrap.min.css %} relstylesheet!-- 引入Bootstrap的JavaScript文件--script src{% static js/bootstrap.js %}/script!-- 引入 layui.css --link relstylesheet href{% static layui/css/layui.css %}!-- 引入 layui.js --script src{% static layui/layui.js %}/script /head body注册 前端 {% load static %} !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title!-- 引入jQuery--script src{% static js/jquery.js %}/script!-- 引入Bootstrap的CSS文件--link href{% static css/bootstrap.min.css %} relstylesheet!-- 引入Bootstrap的JavaScript文件--script src{% static js/bootstrap.js %}/script!-- 引入 layui.css --link relstylesheet href{% static layui/css/layui.css %}!-- 引入 layui.js --script src{% static layui/layui.js %}/scriptstyle.content {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}/style/head body div classcontent!-- 注册表单 --form classlayui-form methodpost onsubmitreturn false; idlay_register{% csrf_token %}div classdemo-reg-containerdiv classlayui-form-itemdiv classlayui-rowdiv classlayui-col-xs7div classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-cellphone/i/divinput typetext namephone valuelay-verifyrequired|phone placeholder手机号lay-reqtext请填写手机号 autocompleteoffclasslayui-input idreg-cellphone/div/div/div/divdiv classlayui-form-itemdiv classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-username/i/divinput typetext nameusername value lay-verifyrequiredplaceholder用户名autocompleteoffclasslayui-input lay-affixclear/div/divdiv classlayui-form-itemdiv classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-password/i/divinput typepassword namepassword valuelay-verifyrequired placeholder密码autocompleteoff classlayui-input idreg-passwordlay-affixeye/div/divdiv classlayui-form-itemdiv classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-password/i/divinput typepassword nameconfirmPassword valuelay-verifyrequired|confirmPasswordplaceholder确认密码 autocompleteoff classlayui-inputlay-affixeye/div/divdiv classlayui-form-itembutton classlayui-btn layui-btn-fluid lay-submitlay-filterdemo-reg idsend_register注册/button/divdiv classlayui-form-item demo-reg-othera href{% url Blog:login %}登录已有帐号/a/div/div/form /div scriptlayui.use(function () {const $ layui.$;const form layui.form;const layer layui.layer;const util layui.util;util.on(lay-on, {msg: function () {{#layer.msg(登录成功);#}}})// 自定义验证规则form.verify({// 确认密码confirmPassword: function (value, item) {const passwordValue $(#reg-password).val();if (value ! passwordValue) {return 两次密码输入不一致;}}});});{#注册事件#}const registerButton document.getElementById(send_register);registerButton.addEventListener(click, function () {// 获取表单元素const form document.getElementById(lay_register);// 创建 FormData 对象const formData new FormData(form);formData.append(index, register_modal)$.ajax({url: ,type: POST,processData: false, // 设为false防止JQuery自动将formData转成字符串contentType: false, // 防止JQuery自动添加Content-Type请求头{#data: JSON.stringify(newData),#}data: formData,success: function (data) {if (data.err) {layui.layer.msg(data.err)}if (data.info) {layui.layer.msg(注册成功)$(document.getElementById(register)).modal(hide)window.open(data.info)}}})}) /script /body /html后端 def register(request):print(注册页面)if request.method POST and request.is_ajax:data request.POSTusername data[username]password data[password]phone data[phone]if models.Userinfo.objects.filter(usernameusername):err_info {err: 用户名已存在}return JsonResponse(err_info)else:models.Userinfo.objects._create_user(usernameusername, passwordpassword, phonephone, email)back_info {info: http://127.0.0.1:8000/}return JsonResponse(back_info)return render(request, register.html, locals())登录 前端 {% load static %} !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title!-- 引入jQuery--script src{% static js/jquery.js %}/script!-- 引入Bootstrap的CSS文件--link href{% static css/bootstrap.min.css %} relstylesheet!-- 引入Bootstrap的JavaScript文件--script src{% static js/bootstrap.js %}/script!-- 引入 layui.css --link relstylesheet href{% static layui/css/layui.css %}!-- 引入 layui.js --script src{% static layui/layui.js %}/scriptstyle.content {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}/style/head body div classcontentform classlayui-form methodpost onsubmitreturn false; idlay_login{% csrf_token %}div classdemo-reg-containerdiv classlayui-form-itemdiv classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-username/i/divinput typetext nameusername value lay-verifyrequiredplaceholder用户名autocompleteoffclasslayui-input lay-affixclear/div/divdiv classlayui-form-itemdiv classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-password/i/divinput typepassword namepassword valuelay-verifyrequired placeholder密码autocompleteoff classlayui-input idreg-passwordlay-affixeye/div/divdiv classlayui-col-xs7div classlayui-input-wrapdiv classlayui-input-prefixi classlayui-icon layui-icon-vercode/i/divinput typetext namecaptcha value lay-verifyrequiredplaceholder验证码 lay-reqtext请填写验证码autocompleteoff classlayui-input lay-affixclear/div/divdiv classlayui-col-xs5div stylemargin-left: 10px;img src{% url Blog:get_verify_img %} width100%height37px idimg_verify alt/div/divdiv classlayui-form-itembutton classlayui-btn layui-btn-fluid lay-submitlay-filterdemo-reg idsend_login lay-onmsg登录/button/divdiv classlayui-form-item demo-reg-othera href#没有账号立即注册/a/div/div/form /div script{#刷新验证码#}const verify document.getElementById(img_verify)verify.addEventListener(click, function () {// 获取原始的 src 属性值const verify_src verify.src;// 检查原始 src 是否已经包含时间戳if (verify_src.includes(?)) {// 如果已经包含时间戳只替换最后一个时间戳verify.src verify_src.replace(/\?.*$/, ) ? new Date().getTime();} else {// 如果原始 src 没有时间戳直接添加时间戳verify.src verify_src ? new Date().getTime();}}){#登录事件#}const loginButton document.getElementById(send_login);loginButton.addEventListener(click, function () {// 获取表单元素const form document.getElementById(lay_login);// 创建 FormData 对象const formData new FormData(form);formData.append(index, login_modal)$.ajax({url: ,type: POST,processData: false, // 设为false防止JQuery自动将formData转成字符串contentType: false, // 防止JQuery自动添加Content-Type请求头data: formData,success: function (data) {if (data.err) {layui.layer.msg(data.err)}if (data.url)window.open(data.url)},error: function (xhr, status, error) {console.log(error)}})}) /script /body /html后端 def login(request):if request.method POST and request.is_ajax:data request.POSTuser models.Userinfo.objects.filter(usernamedata[username]).first()if not user:err_info JsonResponse({err: 用户不存在})return err_infoif not check_password(data[password], user.password):print(密码错误)err_info JsonResponse({err: 密码错误})return err_infoelse:request.session[user] data[username]return JsonResponse({url: http://127.0.0.1:8000/})return render(request, login.html, locals())验证码部分逻辑 def get_verify_img(request):data, words verify()print(words)return HttpResponse(data)def random_rgb():return random.randint(0, 256), random.randint(0, 256), random.randint(0, 256)def random_word():# 0-9数字random_num random.randint(0, 9)# a-zrandom_lower chr(random.randint(97, 122))# A-Zrandom_upper chr(random.randint(65, 90))word random.choice([random_upper, random_lower, str(random_num)])return word
http://www.zqtcl.cn/news/929137/

相关文章:

  • 网站服务器机房html5写的网站有什么好处
  • 三网合一网站源码下载宣传片拍摄手法及技巧
  • 重庆有网站公司公司做网站能抵扣进项税吗
  • 深圳南山网站开发卖东西的网站怎么建设
  • 网站开发教程全集网站内外链建设
  • 购物网站排名数商云科技
  • 哪种网站百度网盘登录入口官网
  • 做淘宝网站多少钱wordpress 七牛云存储
  • 做淘宝网站多少钱江苏省建设厅网站建筑电工证
  • 深圳网站建设 贴吧广州档案馆建设网站
  • 专注网站建设电商商城网站建设
  • 黄石专业网站建设推广一起做网店 网站打不开
  • 网站session 验证江西星子网
  • 成都高校网站建设服务公司小树建站平台
  • 宁波网站建设 慕枫科技顺德网站设计制作
  • 企业网站如何宣传wordpress 链接修改插件
  • 站长工具官网查询视频网站建设工具
  • 建设彩票网站制作网站服务器
  • 购物网站建设网站怎么购买国外的域名
  • 在线网站排名工具跨境电商卖什么产品最赚钱
  • 电商网页设计网站什么是网络营销产生的现实基础
  • 网站开发需要注意的阿里云做网站可以免备案吗
  • 网站开发后端菜鸟教程本地安装wordpress nginx
  • 网站做端口映射域名怎么做网站
  • 港口建设征收 申报网站网站内容建设与管理
  • 长沙企业网站建设较好的公司个人社保缴费比例
  • 网站备案信息页面惠安网站建设报价
  • 东莞做微网站建设十大免费软件下载
  • 做的很好的黑白网站成都小程序开发
  • 发布做任务网站wordpress新建用户