前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自己动手,打造更好用的Django

自己动手,打造更好用的Django

作者头像
zhaoolee
发布2018-04-19 10:42:39
5940
发布2018-04-19 10:42:39
举报
文章被收录于专栏:木子昭的博客木子昭的博客

Django是python实现的重量级的web框架,特点是,写的少,做的多,架构合理,容易维护,django为我们提供了大量的实用功能,但函数的名字不太好记,为了让django更好用,我们可以按照自己的使用习惯,对Django基础功能函数进行二次封装,打造更好用的django

Django_wrappers

get请求post请求 进行封装

代码语言:javascript
复制
# 对post请求进行封装
def post(request, key):
    return request.POST.get(key, '').strip()


# 对get请求进行封装
def get(request, key):
    return request.GET.get(key, '').strip()

cookie方法进行封装

代码语言:javascript
复制
# 设置cookie(24小时)
def set_cookie(response, key, value):
    response.set_cookie(key, value, max_age=60*60*24)


# 获取cookie
def get_cookie(request, key):
    return request.COOKIES.get(key, '')


# 删除cookie
def del_cookie(response, key):
    response.delete_cookie(key)

session进行封装

代码语言:javascript
复制
# 设置session
def set_session(request, key, value):
    request.session[key] = value


# 获取session
def get_session(request, key):
    return request.session.get(key, '')


# 删除session(清除所有的session)
def del_session(request):
    request.session.flush()

sha256加密算法进行封装

代码语言:javascript
复制
# 引入哈希库
import hashlib

# 用户密码加密(使用sha256进行加密)
def password_encryption(password, salt='zhaozhao'):

    sha = hashlib.sha256()
    new_password = password + salt
    sha.update(new_password.encode('utf-8'))

    return sha.hexdigest()

对中间件message方法进行封装

代码语言:javascript
复制
# 引入message(依赖django默认的中间件)
from django.contrib import messages

# 为message添加单条消息
def add_message(request, key, value):
    messages.add_message(request, messages.INFO, key + ":" + value)


# 获取所有message信息
def get_messages(request):
    # 取出所有错误信息
    all_mess = messages.get_messages(request)
    # 保存错误信息到字典中
    mess_dic = dict()
    for mess in all_mess:
        content = str(mess).split(':')
        mess_dic[content[0]] = mess_dic[1]

    return mess_dic

文章涉及到的资源我会通过百度网盘分享,为便于管理,资源整合到一张独立的帖子,链接如下: http://www.jianshu.com/p/4f28e1ae08b1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.10.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对get请求post请求 进行封装
  • 对cookie方法进行封装
  • 对session进行封装
  • 对sha256加密算法进行封装
  • 对中间件message方法进行封装
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档