Django1.8学习笔记总结(基础+settings)
2016-09-19 18:57
555 查看
跟上一篇一样,这篇笔记也是以凌乱的txt存在我的电脑中,因为做了好多个项目一点一点地添加,原版有点乱,故总结之.
一般创建一个Django项目后并新建应用后,项目中会有两个文件夹,一个与项目同名,一个是应用文件夹.如果有多个应用,会有多个应用文件夹.
与项目同名的文件夹下的文件有:
应用的文件夹下的文件有:
另外还有一个templates文件夹,这是表现层,一般html都放在此处.
一般习惯会再新建一个static文件夹,用于存放js, img, css等所有前端所需的文件
个人习惯算法,爬虫另外单独分文件夹.另外我也喜欢在应用下新建一个myurls.py来放本来应该放urls.py中的链接(被人带坏的)
还有一个manage.py,用于运行Django项目的.
常用命令有(终端下):
明明写了templates居然说404?
网页图片全部都图裂?
数据库同步不了?
很多时候都是它的锅…
BASE_DIR: 这是整个django项目的路径,需要路径时直接用join方法连接它和项目内路径,会很方便,也可以避免绝对路径不方便项目移动的问题
INSTALLED_APPS:
就是已安装的应用,上面的startapp创建出来的blog就是一个.如果默认有两个django.contrib.admin,要去掉其中一个.要把自己新建的非同名文件夹名字放到这里
MIDDLEWARE_CLASSES: 一些项目相关的中间件(插件),比如安全认证相关的,sessiion相关的等等,一般不需要管,除了要注释掉’django.middleware.csrf.CsrfViewMiddleware’.(用不上功能又可能报错)
TEMPLATES: 让项目找到你放模板的文件夹.dirs就是模板文件夹的路径.默认’DIRS’是空,要改成:os.path.join(BASE_DIR, ‘文件夹路径’),否则找不到欧~
DATABASES:连接数据库的配置就需要改这里了,默认是sqlite,也可以使用其他数据库,写法不一样,详情看文档哈
以上是语言和时区,按需改
STATIC_URL = ‘/static/’ static的url. 当url为/static/xxx/时,会指定到staticfile处,在html,css,js中会有很多应用,比如:
STATIC_ROOT = os.path.join(os.path.dirname(file), ‘..’, ‘all_static’).replace(‘\’,’/’)
指定static的根目录, 不可以与staticfiles_dir相同.
STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个应用的static目录以外还需要管理的静态文件设置,
比如项目的公共文件差不多。然后给静态文件变量赋值,告诉Django,静态文件在哪里.就是告诉项目你的css,js,img文件都放在哪.以下就是指定static文件夹:
默认情况下(如果没有修改STATICFILES_FINDERS的话),Django首先会在STATICFILES_DIRS配置的文件夹中寻找静态文件,然后再从每个应用的static子目录下查找,
并且返回找到的第一个文件。所以我们可以将全局的静态文件放在STATICFILES_DIRS配置的目录中,将app独有的静态文件放在app的static子目录中。
存放的时候按类别存放在static目录的子目录下,如图片都放在images文件夹中,所有的CSS都放在css文件夹中,所有的js文件都放在js文件夹中。
将应用中的静态文件添加到静态文件配置列表中:
TEMPLATE_DIRS:需要管理的页面文件所在路径,参考staticfiles_dirs的一堆文哈
配置应用的模板文件路径
(关于static和template的settings部分自己觉得理解的不算特别透彻,所以搬了下别人的解释.很多写法是有多个app时需要注意的,目前还没试过多app的django,有待以后继续研究)
参考:
http://www.bkjia.com/Pythonjc/983240.html(settings完整版)
static部分的参考忘记看过哪些文章的了,年代比较久远,sorry~
一.文件梳理
mtv:models-templates-views一般创建一个Django项目后并新建应用后,项目中会有两个文件夹,一个与项目同名,一个是应用文件夹.如果有多个应用,会有多个应用文件夹.
与项目同名的文件夹下的文件有:
__init__.py //每一个文件夹要成为项目的package必须有这个文件,一般是个空文件 urls.py //用于定义链接来连接views.py中的方法与templates文件夹中的页面 settings.py //用于整个项目的设置 wsgi.py //控件相关(不知道正确的翻译),需要把django布置到服务器如Apache时就会用到它,目前我少用
应用的文件夹下的文件有:
models.py //模型层, 每一个class都是数据库里的一个表,继承models.Model类, admin.py //Django自带的管理系统,model们需要在这里注册(register)才能被管理 tests.py //用于测试项目 views.py //视图层,用于定义显示页面时被调用的处理业务逻辑的函数
另外还有一个templates文件夹,这是表现层,一般html都放在此处.
一般习惯会再新建一个static文件夹,用于存放js, img, css等所有前端所需的文件
个人习惯算法,爬虫另外单独分文件夹.另外我也喜欢在应用下新建一个myurls.py来放本来应该放urls.py中的链接(被人带坏的)
还有一个manage.py,用于运行Django项目的.
常用命令有(终端下):
python manage.py startapp blog //创建名为blog的应用 python manage.py makemigrations //写好models后第一次运行rumigrate前需要运行本句,在应用文件夹下会创建一个migration文件夹,与创建模型相关 python manage.py migrate //同步数据库,简单来说就是创表,改表,删表等.到运行本句之前,model里写的东西都是不算数滴,运行后打开数据库就能看到改变啦 python manage.py runserver //开启后台,如果views,templates,urls写好了的话,此时已经可以开浏览器看到页面效果了 python manage.py runserver 0.0.0.0:8000 //0.0.0.0表示允许所有ip访问,否则默认只有本机可以访问;8000是端口 python manage.py collectstatic //自动收集static文件 python manage.py createsuperuser //创建可以登录admin的管理员 python manage.py findstatic Chrome.jpg //查找指定的静态文件所在的目录
二,修改settings.py
这个文件很重要,所有项目的配置信息都在这里,如果这里没写好,其他文件里写的东西都是不算数的.比如:明明写了templates居然说404?
网页图片全部都图裂?
数据库同步不了?
很多时候都是它的锅…
BASE_DIR: 这是整个django项目的路径,需要路径时直接用join方法连接它和项目内路径,会很方便,也可以避免绝对路径不方便项目移动的问题
INSTALLED_APPS:
就是已安装的应用,上面的startapp创建出来的blog就是一个.如果默认有两个django.contrib.admin,要去掉其中一个.要把自己新建的非同名文件夹名字放到这里
MIDDLEWARE_CLASSES: 一些项目相关的中间件(插件),比如安全认证相关的,sessiion相关的等等,一般不需要管,除了要注释掉’django.middleware.csrf.CsrfViewMiddleware’.(用不上功能又可能报错)
TEMPLATES: 让项目找到你放模板的文件夹.dirs就是模板文件夹的路径.默认’DIRS’是空,要改成:os.path.join(BASE_DIR, ‘文件夹路径’),否则找不到欧~
'DIRS': [os.path.join(BASE_DIR,'templates')],
DATABASES:连接数据库的配置就需要改这里了,默认是sqlite,也可以使用其他数据库,写法不一样,详情看文档哈
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC'
以上是语言和时区,按需改
STATIC_URL = ‘/static/’ static的url. 当url为/static/xxx/时,会指定到staticfile处,在html,css,js中会有很多应用,比如:
<img src = "/static/img/1.jpg">
STATIC_ROOT = os.path.join(os.path.dirname(file), ‘..’, ‘all_static’).replace(‘\’,’/’)
指定static的根目录, 不可以与staticfiles_dir相同.
STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个应用的static目录以外还需要管理的静态文件设置,
比如项目的公共文件差不多。然后给静态文件变量赋值,告诉Django,静态文件在哪里.就是告诉项目你的css,js,img文件都放在哪.以下就是指定static文件夹:
STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )
默认情况下(如果没有修改STATICFILES_FINDERS的话),Django首先会在STATICFILES_DIRS配置的文件夹中寻找静态文件,然后再从每个应用的static子目录下查找,
并且返回找到的第一个文件。所以我们可以将全局的静态文件放在STATICFILES_DIRS配置的目录中,将app独有的静态文件放在app的static子目录中。
存放的时候按类别存放在static目录的子目录下,如图片都放在images文件夹中,所有的CSS都放在css文件夹中,所有的js文件都放在js文件夹中。
将应用中的静态文件添加到静态文件配置列表中:
STATICFILES_DIRS += MY_STATIC_DIRS
TEMPLATE_DIRS:需要管理的页面文件所在路径,参考staticfiles_dirs的一堆文哈
TEMPLATE_DIRS = ( os.path.join(BASE_DIR, 'templates'), )
配置应用的模板文件路径
TEMPLATE_DIRS += MY_TEMPLATE_DIRS
(关于static和template的settings部分自己觉得理解的不算特别透彻,所以搬了下别人的解释.很多写法是有多个app时需要注意的,目前还没试过多app的django,有待以后继续研究)
参考:
http://www.bkjia.com/Pythonjc/983240.html(settings完整版)
static部分的参考忘记看过哪些文章的了,年代比较久远,sorry~
相关文章推荐
- DJANGO基础学习之转义总结:escape,autoescape,safe,mark_safe
- 黑马程序员之SQL学习笔记:数据库基础知识点学习总结
- Delphi基础语法的学习笔记和注意事项总结
- 【黑马程序员-学习笔记】OC-基础知识总结
- CSS3基础知识学习总结笔记
- 黑马程序员之 ASP.NET学习笔记:ADO.NET基础知识总结
- swift学习笔记(六)——基础语法的总结
- 黑马程序员_学习笔记JAVA基础总结
- [python]Django学习笔记(基础)
- Django笔记 —— 基础部分总结
- VS2010 学习笔记 WF4 (9) 工作流基础总结
- 嵌入式开发之C基础学习笔记10--总结
- 黑马程序员_学习笔记:2) Java语法基础总结
- django_book学习笔记7-django常用方法总结
- 黑马程序员 - 学习笔记10 基础概念总结
- 嵌入式开发之C++基础学习笔记2--总结所有基础用法
- 黑马程序员-自己总结的java学习笔记(1)java语言基础。
- 黑马程序员-自己总结的java学习笔记(2)java语句基础。
- Django学习笔记(一)环境搭建基础教程示例
- java基础教程学习笔记总结&nbsp;7-10节