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去掉,就会出现这个警告,这相当于模块间的引用,这样就能理解了。
django 开发之模型以及静态问题和图片的使用的更多相关文章
- django开发博客(1) 入门
现在正式开始博客开发 1.安装django1.4 如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境 django下载地址 https://ww ...
- Django开发博客- 模型
django的模型就是用于在数据库中存储的某种类型的对象.在我们的博客系统中, 发表的文章就是一个模型,需要存储在数据库中. 这里我们使用django默认的sqlite3库,对于我们的这个小系统而言已 ...
- django开发个人简易Blog——构建项目结构
开发之前第一步,就是构造整个的项目结构.这就好比作一幅画,第一步就是描绘轮廓,有了轮廓,剩下的就是慢慢的填充细节.项目结构规划如下图: 项目结构描述: 本项目以fengzhengBlog为根目录. a ...
- 15款Django开发常用软件包(转)
原文:http://www.iteye.com/news/28697 Django是一款高级的Python Web框架,可以帮助开发者快速创建web应用.我们这里整理了15款Django开发中常用的软 ...
- Django开发——集成的子框架django.contrib
Django开发——集成的子框架django.contrib 2018年09月11日 19:32:42 Mrkang1314 阅读数:63 https://blog.csdn.net/mashaok ...
- Django 开发相关知识 整理
前言 前端ajax HTTP请求头 ajax上传文件 jsonp跨域 URL 设计 分发 url参数编码 反向生成url 视图 request对象 POST url信息 视图返回值 HttpRespo ...
- django开发个人简易Blog——数据模型
提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...
- Django开发笔记之数据库的设计
后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...
- django关闭debug后,静态文件的处理
Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...
随机推荐
- hibernate课程 初探单表映射1-8 hibernate持久化类
java beans 的设计原则 1 公有的类 2 共有不带参数构造方法 3 私有属性 4 属性setter/getter方法 Studnet类: package com.ddwei.student; ...
- IO多路复用丶基于IO多路复用+socket实现并发请求丶协程
一丶IO多路复用 IO多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作 IO多路复用作用: 检测多个socket是否已经发生变 ...
- 一张图掌握移动Web前端所有技术(大前端、工程化、预编译、自动化)
你要的移动web前端都在这里! 大前端方向:移动Web前端.Native客户端.Node.js. 大前端框架:React.Vue.js.Koa 跨终端技术:HTML 5.CSS 3.JavaScri ...
- 表格<table>
<table> <tr> <th>表头1</th> <th>表头2</th> <th>表头3</th> ...
- 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- 梦织未来Windows驱动编程 第04课 驱动相关的数据结构
- vue+node+mongodb实现的页面
源代码地址:https://github.com/GainLoss/vue-node-mongodb 目前这个项目实现的是: 1.利用vue-cli实现前台页面的编写 (1)页面的跳转利用的是vue- ...
- innobackupex实现对MySQL的增量备份与还原
备份增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --defaults-file=/etc/my.cnf --user root --password cheng ...
- World Wind Java开发之十四——添加WMS地图服务资源(转)
数据是GIS的核心,没有数据一切无从谈起,Internet上有很多在线WMS地图服务资源,我们可以好好利用这些数据资源,比如天地图.必应地图.NASA.OGC数据服务等等. 在我们国家常用的还是天地图 ...
- UIButton 加载网络图片
以后就可以 用这个分类 UIButton轻松加载网络图片了, UIButton+WebCache.h #import <UIKit/UIKit.h> @interface UIButt ...