首页 > 其他分享 >图片验证码,发送邮箱,富文本编辑器

图片验证码,发送邮箱,富文本编辑器

时间:2023-01-13 05:11:25浏览次数:39  
标签:文本编辑 settings request 验证码 captcha html 邮箱 EMAIL

@

目录

图片验证码

1、安装

pip install django-simple-captcha

2、设置

settings.py配置

INSTALLED_APPS = [
 	.........
    'captcha'
]


# 使用django-simple-captcha验证码
CAPTCHA_IMAGE_SIZE = (80, 30)  # 设置 captcha 图片大小
CAPTCHA_lENGTH = 4  # 设置字符个数
CAPTCHA_TIMEOUT = 1  # 超时(minutes)
# 输入格式:输入框 验证码图片 隐藏域
CAPTCHA_OUTPUT_FORMAT = '%(text_field)s %(image)s %(hidden_field)s'
CAPTCHA_NOISE_FUNCTIONS = (
   'captcha.helpers.noise_null',
   'captcha.helpers.noise_arcs',  # 线
   'captcha.helpers.noise_dots',  # 点
)
# 随机字符验证码
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge'
#CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_match_challenge'

主路由中配置

path('captcha/', include('captcha.urls')),

做数据库迁移

python manage.py migrate

3、建立表单

#应用下的forms.py
from django import forms
from captcha.fields import CaptchaField

class LoginForm(forms.Form):
    captcha = CaptchaField()  # 验证码字段

4、实现

#应用下的urls.py
app_name='App'
urlpatterns = [
    #图片验证码
    path('yzm/',views.yzm,name='yzm')
]

#views.py
from App import forms

# 图形验证码
def yzm(request):
    if request.method == 'POST':
        form = forms.LoginForm(request.POST)
        if form.is_valid():
            print('验证通过')
            return HttpResponse('验证通过')
        else:
            return render(request, 'verifycode.html', locals())
    else:
        form = forms.LoginForm()
        return render(request, 'verifycode.html', context=locals())
<!--verifycode.html-------->
<body>
<form action="{% url 'App:yzm' %}" method="post">
    {% csrf_token %}
    {% for foo in form %}
        <p>{{ foo.label }}:{{ foo }}</p>
        <span>{{ foo.errors.0 }}</span>

    {% endfor %}
    <input type="submit">
</form>
</body>
<script>
    $(function () {
        $('.captcha').css({
            'cursor': 'pointer'
        });
        // ajax刷新
        $('.captcha').click(function () {
            console.log('click');
            $.get("{% url 'captcha-refresh' %}",
                function (result) {
                    $('.captcha').attr('src', result['image_url']);
                    $('#id_captcha_0').val(result['key'])
                });
        });
    })
</script>
</html>

邮件发送

1、settings.py配置

# smtp服务的邮箱服务器
EMAIL_HOST = 'smtp.163.com'
# smtp服务固定的端⼝是25
EMAIL_PORT = 25
#发送邮件的邮箱
EMAIL_HOST_USER = '[email protected]'
#在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'xxxxxxx'
#收件⼈看到的发件⼈ <此处要和发送邮件的邮箱相同>
EMAIL_FROM = 'python<[email protected]>'

2、发送邮件

要配置路由哦

#⼀封邮件
from django.core.mail import send_mail
from django.conf import settings
def sendone(request):
     send_mail('标题', '内容', settings.EMAIL_FROM,
     ['[email protected]']) #目标邮箱
     return HttpResponse("发⼀封邮件")

# 发多封邮件
def sendmany(request):
     message1 = ('Subject here', '<b>Here is the message</b>',
    settings.EMAIL_FROM, ['[email protected]'])
     message2 = ('Subject here', '<b>Here is the message</b>',
    settings.EMAIL_FROM, ['[email protected]'])
     send_mass_mail((message1,message2), fail_silently=False)
     return HttpResponse('发送多封邮件')
#渲染模板进⾏邮件发送
def send_mail(request):
 subject, from_email, to = 'html', settings.EMAIL_FROM,'[email protected]'

    html_content =
    loader.get_template('active.html').render({'username': '⼩花猫'})
     msg = EmailMultiAlternatives(subject, from_email=from_email, to=
    [to])
     msg.attach_alternative(html_content, "text/html")
     msg.send()
     return HttpResponse('发送html的⽂件内容')

富文本编辑器

1、安装

pip install django-tinymce

2、settings.py设置

INSTALLED_APPS = [
 ...
 'tinymce',
]


#富⽂本编辑器的配置
TINYMCE_DEFAULT_CONFIG = {
 'theme':'advanced',
 'width':600,
 'height':400
}

3、实现

<head>    
<script src="/static/tinymce/tinymce.min.js"></script>
    <script>
        tinyMCE.init({
            'mode': 'textareas',
            'width': 800,
            'height': 600,
        })
    </script>
</head>
<body>



<form action="{% url 'App:edit' %}" method="POST">
    {% csrf_token %}
    <p>标题 <input type="text" name="title" placeholder="请输⼊标题"
                   maxlength="20" required></p>
    <textarea name="content" id="" cols="30" rows="10"></textarea>
    <input type="submit">
</form>
</body>

</html>
app_name='App'
urlpatterns = [
    path('edit/',views.edit,name='edit'),
]


def edit(request):
    if request.method == 'POST':
        print(request.POST.get('content'))
    return render(request,'article.html')

标签:文本编辑,settings,request,验证码,captcha,html,邮箱,EMAIL
From: https://www.cnblogs.com/zaosong/p/17048443.html

相关文章

  • Telegram 部分地区支持邮箱登录
    Telegram部分地区支持邮箱登录1.注册时要求输入邮箱验证2.再次登录时Telegram会向绑定邮箱发送验证码邮件3.输入邮箱验证码之后可登录Telegram(没有收到已登录设备的......
  • centos7.9 安装ddddocr验证码识别模块
    正常安装pipinstallddddocr 但是因为会使用国外源,很慢,所以我们使用国内源 首先先安装opencv-python-headless注意要使用小于4.3版本的,否则按照不上,windows忽略这一......
  • 【验证码逆向专栏】某验二代滑块验证码逆向分析
    声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删......
  • Dynamics CRM 365 电子邮箱配置-POP3/STMP邮箱(OP V9.0)
    前期准备:必须支持pop3/stmp的邮箱,foxmail/outlook客户端可以登录并且能正常收发邮件以下用网易企业邮箱做的测试,注意开通了独立安全码,非邮箱登录密码 1、打开设置>>......
  • java使用邮箱发送验证码
    在学习谷粒学院要用阿里云发送短信验证码,无法申请到短信,于是便用邮箱发送验证码。依赖<dependency><groupId>org.springframework.boot</groupId>......
  • 菜鸟金融登录页面的滑动验证码,selenium写法
    #获取拖动按钮位置并拖动defslide_auth(self):try:time.sleep(random.randint(6,8))#checkhaveslideverifyelementsor......
  • 谷歌开源kaptcha图形验证码
    Kaptcha框架介绍Kaptcha框架是谷歌开源的一个可高度配置的实用验证码生成工具验证码的字体/大小/颜色验证码内容的范围(数字,字母,中文汉字!)验证码图片的大小,边框,边框......
  • thinkphp验证码一直错误
    欢迎关注我的公众号:夜说猫,让贫穷的程序员不靠打代码也能吃饭~在做验证码登录到时候,遇到奇怪的问题,一直报错(明明是对的)后来发现,cookie一直是空的,这里正常来讲应......
  • shell端口监听异常邮箱告警
    业务场景:应用发布监听服务是否正常启动,因为服务器资源不够上不了prometheus、grafana,所以写的shell脚本监听。此脚本适用于初创公司及小微企业使用。准备工作除了she......
  • 推荐几个非常不错的富文本编辑器
    1、wangEditor——基于javascript和css开发的Web富文本编辑器,轻量、简洁、界面美观、易用、开源免费。界面截图:官网地址   2、TinyMCE——TinyMCE是一个轻量级......