zoukankan      html  css  js  c++  java
  • Django进阶项目

    本来想上午轻轻松松搞定,没想到还是出了其他的问题,好在最后都解决了
    在middleware.py当中
    1. # -*- coding:utf-8 -*-
    2. __author__ = 'feimao'
    3. import re 正则表达式处理方式
    4. from django.shortcuts import render
    5. class Version(object):
    6. def process_request(self,request):
    7. agent = request.META['HTTP_USER_AGENT']获取浏览器版本信息,通过request获取
    8. result = re.findall('MSIE [5678]', agent)匹配符合条件的字符串
    9. if len(result)>0:
    10. return render(request,'warning.html') 用render方法发挥渲染过的页面,不用进行跳转,跳转比较麻烦,但是需要了解一下
    定义了中间件,在settings.py里面是这么写的
    'todolist.middleware.Version',
    然后就可以顺利使用了 

    然后是定义过滤器
    在templatetags包里定义了
    1. # -*- coding: utf-8 -*-
    2. from django import template
    3. register = template.Library()
    4. from datetime import datetime
    5. __author__ = 'feimao'
    6. @register.filter
    7. def times(value):
    8. result = '刚刚'
    9. now = datetime.utcnow()
    10. value = value.replace(tzinfo=None)
    11. days = (now-value).days
    12. if days != 0:
    13. result = str(days)+'天前'
    14. else:
    15. seconds =(now-value).seconds
    16. if seconds/3600 != 0 :
    17. result = str(seconds/3600) + '小时前'
    18. else:
    19. result = str(seconds/60) + '分钟前'
    20. return result
    这里就比较恶心了,因为在数据库当中保存的时间格式是UTC的格式,所以我就直接取当前时间的UTC格式了
    now = datetime.utcnow()
    但是我发现还是不能够直接相减否则会报can't subtract offset-naive and offset-aware datetimes这样的错误
    问题就出在利用datetime.datetime.now()得到的当前时间是offset-naive的,而另外一个却是offset-aware的,因此我们需要将这里的dt转成与now一样的形式,可以这么做:
    1
    2
    3
    4
    5
    >>> dt = dt.replace(tzinfo=None)
    >>> dt
    datetime.datetime(201441815377)
    >>> now - dt
    datetime.timedelta(034108443000)

    这样写就可以了























  • 相关阅读:
    [上海线下活动]IT俱乐部新春首期活动: 高级Windows调试
    清除www.fa899.com
    [新功能]总是只列出标题
    [功能改进]更多的列表数定制
    新增Skin使用排行榜
    华硕P5GDCV Deluxe主板更换RAID 1中的故障硬盘步骤
    [WebPart发布]网站链接WebPart
    [通知]19:3020:30进行服务器维护
    [小改进]个人Blog首页显示随笔摘要
    新增两款Skin(clover与Valentine)
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749633.html
Copyright © 2011-2022 走看看