添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
mobile:$inpRegMobile.val(), "captcha_1":$inpRegCaptcha.val(), "captcha_0":$('#id_captcha_0').val(),

2. 手机号,图片验证码,forms.py代码

from django import forms
from django.forms import fields
from captcha.fields import CaptchaField
class DynamicLoginForm(forms.Form):
    mobile = fields.CharField(  # 手机号
        label="手机号",
        max_length=11,
        min_length=11,
        required=True,
        error_messages={
            "max_length": "手机号长度必须为11位",
            "min_length": "手机号长度必须为11位",
            "required": "密码不能为空",
    captcha = CaptchaField()

3. views.py代码

from django.conf import settings
from django.http import JsonResponse
from django.views.generic.base import View
from apps.users.forms import LoginForm, DynamicLoginForm
from apps.utils.YunPian import send_single_sms
from apps.utils.random_str import generate_random
class SendSmsView(View):
    def post(self, request):
        send_sms_form = DynamicLoginForm(request.POST)
        re_dict = {}
        if send_sms_form.is_valid():
            mobile = send_sms_form.cleaned_data["mobile"]
            # 随机生成数字验证码
            captcha = generate_random(6, 0)
            res_json = send_single_sms(apikey=settings.API_KEY, code=captcha, mobile=mobile)
            if res_json["code"] == "0":
                re_dict["status"] = "success"
            else:
                re_dict["msg"] = res_json["msg"]
        else:
            for key, value in send_sms_form.errors.items():
                re_dict[key] = value[0]
        print(re_dict)
        return JsonResponse(re_dict)

4. 生成随机字符串,random_str.py代码

import string
from random import choice
def generate_random(random_length, type):
    随机字符串生成函数
    :param random_length:字符串长度
    :param type:字符串类型(0:纯数字 or 1:数字+字符 or 2:数字+字符+特殊字符)
    :return:生成的随机字符串
    # 随机字符串种子
    if type == 0:
        random_seed = string.digits
    elif type == 1:
        random_seed = string.digits + string.ascii_letters
    elif type == 2:
        random_seed = string.digits + string.ascii_letters + string.punctuation
    random_str = []
    while (len(random_str) < random_length):
        random_str.append(choice(random_seed))
    return ''.join(random_str)
if __name__ == "__main__":
    print(generate_random(6, 0))

 4. 云片网发送短信,YunPian.py代码

import requests
import json
def send_single_sms(apikey, code, mobile):
    # 发送单条短信
    url = "https://sms.yunpian.com/v2/sms/single_send.json"
    text = "【后端学习】您的验证码是{}。如非本人操作,请忽略本短信".format(code)
    res = requests.post(url, data={
        "apikey": apikey,
        "mobile": mobile,
        "text": text
    # 将json数据转为python中的字典
    res_json = json.loads(res.text)
    return res_json

6. 发送短信验证码urls.py代码

from django.urls import path
from . import views
from django.views.decorators.csrf import csrf_exempt
urlpatterns = [
    path("send_sms/", csrf_exempt(views.SendSmsView.as_view()), name="send_sms"),  # 发送验证码
                    1. ajax代码$.ajax({    cache: false,    type: 'post',    dataType:'json',    url:"/users/send_sms/",    data:{        mobile:$inpRegMobile.val(),        "captcha_1":$inpRegCaptcha.val(),        "captcha_0":$('#id_captcha_0').val(),    }2. 手机号,图
				
需求:点击datatable 的一行diaoyon数据,显示一个模态框,模态框显示该行的全部属性 解决方法: 点击datatable 这一行后,首先构造一个模态框 而后利用ajax 将行的某个属性传回后台 后台d调用数据库将属性全部查询后 用json 形式发送给前台 前台的模态框进行渲染: 实现步骤: 1、构建一个模态框:具体使用方法可以在网上找:https://www.w3h5.com/post/74.html 创建模态框(Modal) 开始演示模态框
1. 在项目前后端数据相互是一种常态, 前后端交互使用的是ajax请求和form表单的请求两种方式" ajax与form表单的区别在于: form 是整个页面刷新提交的, 但是ajax 是局部提交 局部验证的, 这个是他们的唯一区别 2. 前端ajax请求方式: $.ajax({ url: '/ajax/', # 请求路径 type: 'post...
一、流程分析: 1.用户在项目前端,输入手机号,然后点击【获取验证码】,将手机号发到post到后台。 2.后台验证手机号是否合法,是否已被占用,如果通过验证,则生成验证码,并通过运行脚本,让短信运营商向该手机号,发送该验证码,如果没通过验证,则返回错误信息 3.用户收到短信验证码以后,再次将所有信息post到后台。 4.后台验证各个数据,通过验证则完成实名制认证,如果没通过则返回错误信息。 总结,一次实名验证,需要两次ajax+post 二、对接短信商: 1.在云片网端: 1.注册云片网 地址:https://www.yunpian.com/ 后台管理控制台页面:其最重要的信息是APIKEY
1、获取XMLHttpRequest对象。(根据浏览器的不同,获取的对象的方式也不同。主要在IE和非IE的区别) 2、通过open方法准备向服务器发送请求。至少需要传递三个函数:         第一个参数:意思是以什么方式传递(GET方式还是POST方式)。         第二个参数:意思是请求的url地址。如果是servl
1. 图片路径错误:请确保图片路径是正确的。可以在浏览器尝试直接访问图片路径,看看是否能够正常显示。 2. STATIC_URL 和 STATIC_ROOT 配置错误:在 settings.py 文件,要确保 STATIC_URL 和 STATIC_ROOT 配置正确。STATIC_URL 应该指向静态文件的 URL 路径,STATIC_ROOT 应该指向静态文件在服务器上的绝对路径。 3. 没有在模板添加静态文件加载代码:在需要加载图片的模板,需要使用 {% load static %} 加载静态文件,然后使用 {% static '路径' %} 获取图片的 URL。 4. 没有在 urls.py 文件配置静态文件路径:需要在项目的 urls.py 文件,添加如下代码: ```python from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # ... 其他 URL 配置 ... ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 以上是一些可能导致 Django 项目无法加载图片的原因和解决方法。希望能够帮到你。