使用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去掉,就会出现这个警告,这相当于模块间的引用,这样就能理解了。

django 开发之模型以及静态问题和图片的使用的更多相关文章

  1. django开发博客(1) 入门

    现在正式开始博客开发 1.安装django1.4 如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境 django下载地址 https://ww ...

  2. Django开发博客- 模型

    django的模型就是用于在数据库中存储的某种类型的对象.在我们的博客系统中, 发表的文章就是一个模型,需要存储在数据库中. 这里我们使用django默认的sqlite3库,对于我们的这个小系统而言已 ...

  3. django开发个人简易Blog——构建项目结构

    开发之前第一步,就是构造整个的项目结构.这就好比作一幅画,第一步就是描绘轮廓,有了轮廓,剩下的就是慢慢的填充细节.项目结构规划如下图: 项目结构描述: 本项目以fengzhengBlog为根目录. a ...

  4. 15款Django开发常用软件包(转)

    原文:http://www.iteye.com/news/28697 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了15款Django开发中常用的软 ...

  5. Django开发——集成的子框架django.contrib

    Django开发——集成的子框架django.contrib 2018年09月11日 19:32:42 Mrkang1314 阅读数:63  https://blog.csdn.net/mashaok ...

  6. Django 开发相关知识 整理

    前言 前端ajax HTTP请求头 ajax上传文件 jsonp跨域 URL 设计 分发 url参数编码 反向生成url 视图 request对象 POST url信息 视图返回值 HttpRespo ...

  7. django开发个人简易Blog——数据模型

    提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...

  8. Django开发笔记之数据库的设计

    后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...

  9. django关闭debug后,静态文件的处理

    Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...

随机推荐

  1. linux服务器安装nodejs运行环境

    安装nodejs运行环境 第一步:到node官网下载相应版本的安装包,将安装包放置服务器上,路径为 usr/local/node(可根据自身情况进行修改) 第二步:解压 ***.tar.xz格式文件需 ...

  2. vue+element-ui实现cookie登录

    //效果 //login.vue <template> <div> <el-form :model="ruleForm" :rules="r ...

  3. n宫格的实现方法

    方法一.table 1.看成多列 <style> .line{ display: table; width: 1024px; clear:both; overflow:auto; /*-- ...

  4. windows安装ipython

    一.安装python2.71.下载地址https://www.python.org/downloads/2.安装后修改本地变量-右击电脑-属性-高级系统设置-环境变量-用户变量-新建-变量名:path ...

  5. JS整数验证

    整数验证 方法1 function ValidatInteger(obj) { var reg = /^[1-9]\d*$/ if (!reg.test($(obj).val())) { $(obj) ...

  6. hive 报错FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execu

    使用hive一段时间以后,今天在使用的时候突然报错,如下: hive> show databases;FAILED: Error in metadata: java.lang.RuntimeEx ...

  7. Centos7安装 PostgreSQL步骤

    1. 安装服务器即可. Yum install postgresql-server Yum install postgresql-contrib 2. 验证是否安装成功: rpm -aq| grep ...

  8. VERITAS NETBACKUP运维手册(自制)

    ps:本文为目录.详情请点如下目录超链接 1 VERITAS NETBACKUP介绍 1.1 NBU基本概念 1.2 配置存储单元 1.3 配置备份策略(Policy) 1.4 配置NetBackup ...

  9. Oracle grant connect, resource to user语句中的权限

    博主在 Oracle 11g r2上测试(测试日期:2017.10.30): 用sys登陆到oracle中,执行以下两条语句: select * from role_sys_privs WHERE R ...

  10. BZOJ3679: 数字之积(数位dp)

    题意 题目链接 Sol 推什么结论啊. 直接大力dp,$f[i][j]$表示第$i$位,乘积为$j$,第二维直接开map 能赢! /* */ #include<iostream> #inc ...