赞
踩
之前在学校参加创新创业比赛的时候,应为用到Django框架进行网站的开发,但是当时大二的我还有接触到类似web的框架和网站开发的学习,自己在家憋了一周多,终于学会使用了Django进行简单网站的开发,但是框架的一些细节问题和配置问题并不是很明确,最近老师讲述了Django的框架,所以我决定在仔细的研究一下这个Django的配置的相关操作。
1.BASE_DIR:获取项目的目录位置
2.SECRET_KEY:有关安全性问题的一个属性
3. DEBUG:设置成False之后看不到详细错误提示
4.是为了限定请求中的host
值,以防止黑客构造包来发送请求。只有在列表中的host
才能访问
对外提供WEB访问时的URL地址
当DEBUG设置成False之后,下面的STATICFILES_DIRS下的静态文件将会失效,那么如何此时STATIC_ROOT将会发挥它重要的作用
settings.py
- STATIC_URL = '/static/'#这个静态文件的名称必须和项目里面的文件名称相同,对外提供WEB访问时的URL地址
- STATIC_ROOT = os.path.join(BASE_DIR,'static1')## 执行collectstatic命令后会将项目中的静态文件(包括STATICFILES_DIRS、自带admin的静态文件)收集到该目录下面来(所以不应该在该目录下面放置自己的一些静态文件,因为会覆盖掉)
- # 设置图片等静态文件的路径,# 开发阶段放置项目自己的静态文件,不能包含STATIC_ROOT路径
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, "static"),#这个静态文件的名称必须和项目里面的文件名称相同
-
- )
我们在dos(针对windows)中执行 命令(在对应的项目中执行命令)python manage.py collectstatic他会将STATICFILES_DIRS和下的静态文件和admin静态文件放到我在STATIC_ROOT 中命名为static1中,成功之后static1将会有对应所有的静态文件,这个时候STATICFILES_DIRS已经没有了用处。但是在urls.py中还需要添加对应语句才可以。
urls.py
- from . import settings#导入settings.py
- from django import views
- urlpatterns = [
- path('admin/', admin.site.urls),
- re_path(r'^hello/(?P<int>\d+)/',search.HelloWorld),
- re_path(r'^static/(?P<path>.*)$', views.static.serve, {"document_root": settings.STATIC_ROOT}),
- path('check/',search.LoginCheck),
- ]
re_path(r'^static/(?P<path>.*)$', views.static.serve, {"document_root": settings.STATIC_ROOT})这是关键!
当DEBUG设置成False之后,该静态目录已经失效,只有在为True的时候才会可以使用里面的静态文件
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, "static"),#这个静态文件的名称必须和项目里面的文件名称相同
-
- )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。