• django 开发之模型以及静态问题和图片的使用


    使用Django的模型,基本步骤:

    1.创建model

    2.加入到admin.py中去

    3.执行生成迁移:python manage.py makemigrations blog

    4.执行迁移,生成表单

    需要注意的是第二步,一定要加入APP相应的adimn.py 上去,再执行迁移,否则不会启用该model

    adminModel的定制:

    从工程的角度来讲,结合以前的.NET Core的项目过程,我喜欢做成各个功能模块在文块夹组织上的分离,类似下同的工程结构:

     这里记录两个东西:

    1. media_root  media_url  与  static_url   static

     查询官方的文档上面是说,这两个目录是不能配置成一样的。  

    MEDIA_ROOT 按照很多人的理解是指上传的imagefileld与filefield这种动态的上传文件的目录,亲测之后,还是算比较正确的理解的   需要注意的是:imagefield的upload_up  是可以自定义的

    STATIC_ROOT 是用来存放类似于CSS,JS这种静态文件的

    上一个类似的配置  

    配置后,在前端的使用方式是这样的:

     需要这两个地方的路径的写法,以及存储时的时候路径,一般的,我们的路径字段,一般都是只需要存储文件名

    要使存储的图片正确在template上面显示出来,这几个地方都要配置,在测试的时候,可以直接访问:

    http://127.0.0.1:8000/img/xxx.jpg   --->通过media_url的配置信息,其实是访问服务器上面的路径: /static/upload/xxx.jpg   只要明白这个道理,相信就会正确使用这个配置

    补充说明一下,在上面的项目分层的过程中:

    对于__all__的一些理解:

    1.在模块(*.py)中使用__all__  意为:导出__all__列表里的类、函数、变量等成员,

    否则将导出modual中所有不以下划线开头(私有)的成员,

    2.在包(一个包含__init__.py的文件夹)的__init__.py中__all__意为导出包里的模块

    如果我们在models的模块中__init__.py 的__all__ 中把blogpost去掉,就会出现这个警告,这相当于模块间的引用,这样就能理解了。

  • 相关阅读:
    java反射笔记
    Java常见异常类型
    找了这么多毕业设计题目,反而不知道选什么了
    C#中Trim()、TrimStart()、TrimEnd()的用法
    JS bom对象
    HTML随笔
    Sublim text3汉化
    11G RAC ORA-32701
    DB_LINK
    ORA-16957: SQL Analyze time limit interrupt
  • 原文地址:https://www.cnblogs.com/freewsf/p/10010264.html
Copyright © 2020-2023  润新知