zoukankan      html  css  js  c++  java
  • day 68 bbs项目知识点

    admin后台管理(******)
    能够对注册了的模型表 生成增删改查起码四个页面
    http://127.0.0.1:8000/admin/app01/userinfo/ 查看用户
    http://127.0.0.1:8000/admin/app01/userinfo/1/change/ 编辑用户
    http://127.0.0.1:8000/admin/app01/userinfo/add/ 添加用户
    http://127.0.0.1:8000/admin/app01/userinfo/2/delete/ 删除用户

    http://127.0.0.1:8000/admin/app01/blog/ 查看个人站点
    http://127.0.0.1:8000/admin/app01/blog/1/change/ 编辑个人站点
    http://127.0.0.1:8000/admin/app01/blog/add/ 添加个人站点
    http://127.0.0.1:8000/admin/app01/blog/2/delete/ 删除个人站点



    用户头像的渲染
    网站默认的静态文件资源 默认放在static文件夹下
    用户上传的静态文件资源 也应该单独存放在某一个文件夹

    # 规定用户上传的静态文件资源全部放到某一个指定的文件夹下
    MEDIA_ROOT = os.path.join(BASE_DIR,'media')

    from django.views.static import serve
    from BBS import settings
    # 暴露给外界的后端文件资源
    url(r'^media/(?P<path>.*)',serve,{'document_root':settings.MEDIA_ROOT})


    图片防盗链
    请求来的时候 会检测当前请求的源地址是否来自于网站自己的
    refer 放在请求头里面的数据 用来表示你是属于哪个网站

    如果还想用 最简单粗暴的方式就是先下载到本地(写爬虫自动下)




    对日期进行切割
    日期归档          content          create_time     month
    1                         111              2019-11-1       2019-11 
    1                         111              2019-11-25     2019-11
    1                         111              2019-11-10     2019-11
    1                         111              2019-10-1       2019-10

    #官方提供的文档
    from django.db.models.functions import TruncMonth
    Article.objects
    .annotate(month=TruncMonth('create_time'))     # Truncate to month and add to select list
    .values('month')   # Group By month
    .annotate(c=Count('id'))    # Select the count of the grouping
    .values('month', 'c')   # (might be redundant, haven't tested) select month and count

    注意:当你写的url再访问的时候发现没有命中,那么你应该去urls.py中查看是否被前面的url中途拦截了 最省力的解决方式 就是调换位置



    自定义inclusion_tag
    当页面上的某一块区域需要经常被使用 并且需要传参数才能够渲染出来 
    那么你可以考虑使用inclusion_tag

    自定义inclusion_tag的步骤:       

    #跟自定义过滤器和标签是一样的
    1.创建一个名字必须交templatetags文件夹
    2.新建任意一个py文件
    3.py文件内 写固定的两行代码
    from django.template import Library
    register = Library()

    #工作原理     

    类似于函数的调用过程
    你在使用inclusion_tag的时候,可以为其传参,它会将参数传递给一个html页面
    该页面会利用传递过来的参数 渲染页面 然后将渲染好的页面 放在调用inclusion_tag的地方





























  • 相关阅读:
    Layui 两个table 人员选择 多选
    iphone7 忘记密码 重装系统
    使用hql-统计连续登陆的三天及以上的用户
    azkaban群起/群停脚本
    Hive读取索引文件问题:select * 和select count(*)读取出来的行数不一致
    scala/java等其他语言从CSV文件中读取数据,使用逗号','分割可能会出现的问题
    hadoop3.1.3版本的secondaryNamenode的web界面不能显示的问题?
    启动kafka消费报错:WARN [Consumer clientId…] 1 partitions have leader brokers without a matching listener,…
    centos6和centos7的防火墙命令,以及它们的区别是是什么?
    kafka项目经验之如何进行Kafka压力测试、如何计算Kafka分区数、如何确定Kaftka集群机器数量
  • 原文地址:https://www.cnblogs.com/wwei4332/p/11799572.html
Copyright © 2011-2022 走看看