工单系统之登录

本文介绍了如何在Django工单系统中实现登录功能,包括用户视图和路由设置。此外,详细讲解了使用Celery进行异步发邮件更改密码的步骤,涉及到的相关库版本和配置。还提到了微博登录的实现,包括三方表创建、视图、设置以及前端页面代码。
摘要由CSDN通过智能技术生成

效果展示:

一、登录功能

1、# User/view.py 登录功能 #

# User/view.py 登录功能 #
class Denglu(APIView):
    def post(self, request):
        username = request.data.get('username')
        password = request.data.get('password')
        ser = User.objects.get(Q(username=username) | Q(phone=username))
        if ser and check_password(password, ser.password):
            return Response({'msg': '登录成功', 'code': 200, 'uid': ser.id,'username':ser.username})
        else:
            return Response({"msg": "登录失败", "code": 500})

2、路由

path('denglu/', Denglu.as_view()),

二、Celery异步发邮件更改密码

python == 3.7.6

django == 2.1.8

celery == 4.4.7

redis == 3.5.3

eventlet == 0.26.1

1、在项目文件中创建celery.py   配置文件改成相对应项目名

# celery.py文件
import os
from celery import Celery

# 把celery和django进行组合,识别和加载django的配置文件
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gongdan.settings")

# 创建celery实例
app = Celery('gongdan')

# 指定celery消息队列的配置
app.config_from_object('gongdan.config', namespace='CELERY')

# 从所有的django-app中加载任务
app.autodiscover_tasks()


@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

2、在项目文件中创建config.py

# 消息中间人设置
broker_url = 'redis://127.0.0.1:6379/15'
# 结果存储设置
result_backend = 'redis://127.0.0.1:6379/14'

3、在项目中__init__.py文件中写入

# 绝对引用,使我们的celery模块不会与原始的celery冲突
from __future__ import absolute_import, unicode_literals
# 加入绝对引入以后,导入当前模块下的内容方法: from xx import xx as xx
from .celery import app as celery_app

__all__ = ('celery_app',)

4、在settings.py中配置发邮件的内容:

# 配置邮件发送
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'  # 如果为163邮箱,设置为smtp.163.com
EMAIL_PORT = 25  # 或者 465/587是设置了 SSL 加密方式
# 发送邮件的邮箱
EMAIL_HOST_USER = '480756540@qq.com'
# 在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'tamvzwtoqredbgeb'  # 第三方登陆使用的授权密码
EMAIL_USE_TLS = True  # 这里必须是 True,否则发送不成功
# 收件人看到的发件人, 必须是一直且有效的
EMAIL_FROM = '大脸源<480756540@qq.com>'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

5、在django的app中创建tasks.py文件,在这里写入异步任务内容:

注意:此处的html_message 激活地址对应的是前段页面的路由

# 绝对引用,使我们的celery模块不会与原始的celery冲突
from __future__ import absolute_import, unicode_literals

# 导入原始的celery模块中shared_task    from xx import xx
from celery import shared_task
# 导入django的settings
from django.conf import settings
# 使用django内置函数发送邮件
from django.core.mail import send_mail


@shared_task
def send_mail_task(username, email, token):
    """
    使用django内置函数发送邮件
    """
    subject 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于Django工单系统的开发,以下是一些基本的步骤和指导: 1. 创建Django项目:使用Django的命令行工具创建一个新的Django项目。运行以下命令: ``` django-admin startproject project_name ``` 2. 创建Django应用:在项目中创建一个新的Django应用,用于管理工单系统的功能。运行以下命令: ``` python manage.py startapp tickets ``` 3. 定义数据模型:在`models.py`文件中定义工单的数据模型。例如,您可以创建一个`Ticket`模型,其中包含工单的各个字段和关联关系。 4. 编写视图和模板:在`views.py`文件中编写处理工单求的视图函数,并在`templates`目录中创建HTML模板来渲染工单页面。 5. 设置URL路由:在项目的`urls.py`文件中设置URL路由,将求路由到对应的视图函数。 6. 编写表单和处理表单数据:创建一个表单类来收集工单的相关信息,并在视图函数中处理表单数据。 7. 添加用户认证:如果需要对工单系统进行用户身份验证,可以使用Django内置的用户认证系统或第三方库(如django-allauth)来实现用户注册、登录和权限控制。 8. 实现工单列表和详情页面:编写视图函数和模板以显示工单的列表和详细信息。可以使用Django的查询API来获取和过滤工单数据。 9. 添加工单状态和工作流:如果工单系统需要具有不同的状态和状态转换,可以使用Django状态机或其他工作流库来管理工单状态。 10. 实现工单的CRUD操作:编写视图函数和模板来处理创建、读取、更新和删除工单的操作。 11. 集成邮件通知:如果需要通过电子邮件通知用户有关工单的更新或状态更改,可以使用Django内置的邮件发送功能或第三方库(如django-anymail)来实现。 12. 运行测试并部署:编写测试用例来测试工单系统的各个功能,并使用适当的部署方法将工单系统部署到生产环境中。 以上是一个大致的概述,当然在实际开发中还可能涉及到更多的细节和定制需求。希望对您有所帮助!如果您有任何进一步的问题,随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值