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

巨蟹座适合网站建设吗com网站怎么注册

巨蟹座适合网站建设吗,com网站怎么注册,广州网站ui设计,黄页88推广多少钱一年BBS阶段性测试总要求 django登录报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因分析#xff1a;出现这种情况在Windows中很常见#xff0c;就是端口被占用 解决措施#xff1a;这时我们只需改一下端口便可以了 登录前端页面(HTML…BBS阶段性测试总要求 django登录报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因分析出现这种情况在Windows中很常见就是端口被占用 解决措施这时我们只需改一下端口便可以了 登录前端页面(HTML) # 这次页面采用的是bookstrip5Bootstrap 入门 · Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 (bootcss.com) script srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js/script link hrefhttps://cdn.jsdelivr.net/npm/bootstrap5.3.0-alpha1/dist/css/bootstrap.min.css relstylesheet script srchttps://cdn.jsdelivr.net/npm/bootstrap5.3.0-alpha1/dist/js/bootstrap.bundle.min.js/script stylehtml,body {height: 100%;}body {display: flex;align-items: center;padding-top: 40px;padding-bottom: 40px;background-color: #f5f5f5;}.form-signin {max-width: 330px;padding: 15px;}.form-, .form-floating:focus-within {z-index: 2;}.form-signin input[typeemail] {margin-bottom: -1px;border-bottom-right-radius: 0;border-bottom-left-radius: 0;}.form-signin input[typepassword] {margin-bottom: 10px;border-top-left-radius: 0;border-top-right-radius: 0;a {color: rgba(1, 4, 12, 0.92);ext-decoration: none;}} /style # body部分 body main classform-signin w-100 m-autodiv classtext-centerdiv classform-grouplabel forid_avatarimg classmb-4 srchttps://tse3-mm.cn.bing.net/th/id/OIP-C.VeJFhbdc95msPtA2RFHHbwAAAA?rs1pidImgDetMainalt height80px width80px idid_img1stylemargin-left: 20px/labelinput typefile idid_avatar classform-control acceptimage/* styledisplay: noneh1 classh3 mb-3 fw-normal糖果爱上我/h1/label/div/divform idlogin_form{% csrf_token %}div classform-floatingdiv classgroup-grouplabel forid_username用户名/labelinput typetext nameusername classform-controlidid_usernamespan classpull-right error stylecolor: red /span/divdiv classform-grouplabel forfloatingInput密码/labelinput typepassword namepassword classform-controlidid_passwordspan classpull-right error stylecolor: red /span/divdiv classform-grouplabel forfloatingInput验证码/labeldiv classrowdiv classcol-md-6input typetext namecode classform-control idid_code/divimg src/get_valid_code/ alt classcol-md-6 height35 idid_img/div/div/div/formdiv classw-100 btn btn-lg btn-primary idid_submit stylemargin-top: 20px登录/divspan classerror stylecolor: darkred;margin-left: 10px idid_error/spanp stylecolor: #888888您还没账号吗?那我们先注册一个吧~ a href/register/滴滴/a/pp classmt-5 mb-3 text-muted* 佳祺今天也要加油鸭/p /main /body 验证码功能 # 能够显示验证码图片随机改变验证码点击图片就会自己刷新验证码 # 视图层后端自定义验证码验证码用session进行保存方便后面验证是否正确 from django.shortcuts import render, HttpResponse, redirect from PIL import Image, ImageDraw, ImageFont from .utills import get_random_code, get_random_rgb from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout import random, json from io import BytesIOdef get_valid_code(request):height 38width 300image_tmp Image.new(RGB, (300, 38), (255, 255, 255))# 把空图片放在了画板上就可以写字了draw ImageDraw.Draw(image_tmp)# 加入字体img_font ImageFont.truetype(./static/font/ss.TTF, 23)# 验证码code_str get_random_code()print(code_str)# 重要要保存request.session[code] code_strfor i, item in enumerate(code_str):draw.text((30 i * 50, 3), item, fillget_random_rgb(), fontimg_font) # (x轴,y轴)字字颜色字体# 增加难度---在图片上画点for i in range(30):draw.point([random.randint(0, width), random.randint(0, height)], fillget_random_rgb())# 画弧形x random.randint(0, width)y random.randint(0, height)draw.arc((x, y, x 4, y 4), 0, 90, fillget_random_rgb())# 在图片上划线for i in range(3):x1 random.randint(0, width)x2 random.randint(0, height)y1 random.randint(0, width)y2 random.randint(0, height)draw.line((x1, y1, x2, y2), fillget_random_rgb())# 放在内存中,一旦不用自动清理内存my_io BytesIO()image_tmp.save(my_io, png)return HttpResponse(my_io.getvalue()) # 讲图片渲染在前端html页面 div classform-grouplabel forfloatingInput验证码/labeldiv classrowdiv classcol-md-6input typetext namecode classform-control idid_code/divimg src/get_valid_code/ alt classcol-md-6 height35 idid_img/div /div # 设置验证码id设置点击事件使点击验证码图片会自己刷新验证码 script$(#id_img).click(function () {// img标签有个特性只要src变了就会重新src地址请求拿数据var url $(this).attr(src) ? // /get_valid_code/???console.log(url)$(this).attr(src, url)}) /script 图片渲染在前端配置 # 在django中有两个额外自己建立的文件包: media一般存入其他用户上传的图片等等 static 一般用于自身写入的引入样式图片等等        # 因此存入的图片我们想要渲染在前端页面也需配置成静态文件 # settings.py STATIC_URL /static/ STATICFILES_DIRS [os.path.join(BASE_DIR, static)] MEDIA_ROOT os.path.join(BASE_DIR, media) MEDIA_URL /media/# 路由 path(media/path:path, serve, {document_root: settings.MEDIA_ROOT}), ajax提交登录 # 前端把用户提交的数据发送到后端设置button点击事件用ajax提交数据 script $(#id_submit).click(function () {var serialize_data $(#login_form).serializeArray()console.log(serialize_data)var data {}var username $([nameusername]).val()var password $([namepassword]).val()var code $([namecode]).val()var csrfmiddlewaretoken $([namecsrfmiddlewaretoken]).val()data[username] usernamedata[password] passworddata[code] codedata[csrfmiddlewaretoken] csrfmiddlewaretokenconsole.log(data)$.ajax({url: ,method: post,data: data,success: function (data) {console.log(data)if (data.code 100) {location.href data.url} else {$(#id_error).html(data.msg)}}})}) /script # 后端拿到前端数据先对验证码进行对比然后使用auth模块直接讲用户名和密码与数据库中的进行比较返回给前端信息成功便直接跳转到主页面 def login(request):if request.method GET:return render(request, login.html)else:username request.POST.get(username)password request.POST.get(password)net_code request.POST.get(code).lower()#code request.POST.get(code).lower() # 会存在bug# 1 校验验证码,取出老验证码忽略大小写old_code request.session.get(code).lower()if code old_code:# 2 去验证用户了---》user authenticate(usernameusername, passwordpassword)if user:# 登录成功---内部写session了auth_login(request, user)return JsonResponse({code: 100, msg: 登录成功, url: /})else:return JsonResponse({code: 101, msg: 用户名或密码错误})else:return JsonResponse({code: 102, msg: 验证码错误}) 今日思维导图
http://www.hn-smt.com/news/15178/

相关文章:

  • 2025年广州防霉检测机构权威推荐榜单:除螨检测/除臭效果测试/输配水设备检测源头机构精选
  • 2025年低噪音冷却塔实力厂家权威推荐榜单:工业冷却塔/防腐蚀冷却塔/冷却塔填料源头厂家精选
  • LabVIEW 类型描述符
  • 2025 年 11 月多功能塑料粉碎机,小型粉碎机,塑料瓶粉碎机厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • Combo-box Control - ComboExo example
  • 终端里的 AI 编程助手:OpenCode 使用指南
  • Tita项目管理:中小型企业的最佳选择
  • 2025 成都律师咨询最新推荐榜权威发布:聚焦刑事辩护与民商事领域,资深团队与新锐品牌全景解析
  • 2025年乙酸甲酯实力厂家权威推荐榜单:醋酸乙烯酯/乙二醇苯醚/苯氧基乙醇源头厂家精选
  • Luogu P11361 [NOIP2024] 编辑字符串 题解
  • 2025 年清污机源头厂家最新推荐榜单权威发布,聚焦耐腐蚀技术与智能清污实力,结合协会测评数据精选品牌回转式格栅/不锈钢清污机公司推荐公司推荐
  • 2025年11月环保板材品牌推荐榜单:权威对比与选择指南
  • vimrc 插件使用
  • 2025年11月宝宝起名公司选择榜:舜缘居等五强对比解析
  • 2025 年 11 月 6082 铝板厂家推荐排行榜,6061铝板,7075铝板,5083铝板,2024铝板,优质铝合金板材供应商精选
  • TOON 协议与 AIDotNet.Toon 实践指南
  • 杂题选做-4
  • 5.吴恩达机器学习—神经网络的基础使用
  • 2025年11月教育资源好的学习机品牌推荐:口碑榜五强深度评测
  • Ubuntu 20 中 root 默认密码
  • 2025年和君传媒:AI获客技术深度解析与增长引擎盘点
  • 多线程奇幻漂流:从单核到多核质变(一) - 教程
  • 2025 年电源模块厂家最新推荐榜单重磅发布,深度剖析优质厂家核心优势及选购要点隔离 / 开关 / 国产电源模块公司推荐
  • 2025年11月闸阀厂家排名:五强产品性能与适用场景对比
  • 2025年11月蝶阀厂家对比榜:五强产品应用与数据解析
  • CANoe与Simulink联合仿真编译失败
  • 2025年11月黄黑皮美白面霜推荐榜:十款持证淡斑产品口碑排行
  • 2025 最新智能食堂秤厂家/推荐排行榜:溯源 / 验收 / 留样秤品牌权威盘点及选购指南食堂验收智能秤/生鲜分拣智能秤/留样智能秤公司推荐
  • 11/4
  • 安装 Lando v3.25.6和drupal11