美文网首页Django - 开发站点
Django NBA Web开发 - Step 8 时间戳 Da

Django NBA Web开发 - Step 8 时间戳 Da

作者: AllenBigBear | 来源:发表于2019-03-16 21:04 被阅读0次

    还是围绕着发布文章来开发,每个文章都会有需要有创建时间这个信息。
    包括还有发的评论啊什么的,也是需要显示时间信息

    Django里面已经内置了关于时间的字段,主要有2种,一个是DateField,还有一个是DateTimefield。
    来看一下官方文档的说明

    最重要的2个属性是auto_now和auto_now_add
    auto_now:当为True的时候,自动生成当前时间,而且他的更新方式是只能通过Model.save方法,哪怕是QuerySet的update也不行,适合用在“最后更新”这种场景。
    auto_now_add:也是当为True的时候,自动生成当前时间,且默认情况下无法被修改,哪怕是你指定了默认值也会被无视。如果一定要进行修改,你只能将时间生成方式手动写成date.today或者timezone.now这样。
    另外需要特别注意的是,auto_now ,auto_now_add以及default是互斥的,如果同时使用,会报错。

    官方文档

    回到本身项目,更新models模型


    修改模型

    再修改前端渲染文件,增加了发布时间这个时间戳

        {{article.article_title}}<br>
        作者:{{article.user}}<br>
        发布时间:{{article.article_create_time}}<br>
    <h3>{{article.article_content}}<br></h3>
    

    最后来看一下效果图


    效果图

    另外要提一句的是,Django的时区是可以更改的
    在settings文件里,USE_TZ设置为True之后,他会根据上面Time_Zone设置的时区,自动切换时间,而后端数据库里的时间是UTC时间,他的改变是在前段被渲染改变的

    TIME_ZONE = 'Asia/Shanghai'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    

    官方文档如下:
    https://docs.djangoproject.com/en/2.1/ref/settings/

    屏幕快照 2019-03-16 下午9.00.16.png

    相关文章

      网友评论

        本文标题:Django NBA Web开发 - Step 8 时间戳 Da

        本文链接:https://www.haomeiwen.com/subject/wuasmqtx.html