Mac os下Django settings.py文件配置以及图片文件上传无法显示问题
来源:互联网 发布:数据呈现方式 专利 编辑:程序博客网 时间:2024/06/03 21:41
最近一直在学Django但是大小问题层出不穷,先举例一些问题,可能有些菜鸟级别的问题。。。如果您没有遇到如下问题也就不必看了
一、实现了网页间的跳转,但是相关的js文件居然不起作用
静态文件交由Web服务器处理,Django本身不处理静态文件。因此需要在Django里做些配置才能使用这些静态文件。
Django网站开发的机制是静态文件需要单独存放,多媒体文件需要配置多媒体文件的路径并且也需要单独存放。
我是用PyCharm开发Django工程,自动生成的settings.py文件似乎少了不少的提示,因此我只在此列出我遇到的没有的配置。
上述问题的解决办法正如Django所说的,静态文件以及多媒体文件需要单独存放。
html文件需要存放在templates文件夹内,js、css文件则需要存放在static文件内,以settings.py文件所在的文件夹说起,static与templates文件夹应该位于settings.py文件所在的文件夹的同一级下,注意是其所在的文件夹的同一级,从以下配置代码可以看出如此。
1、添加TEMPLATE_DIRS
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), '..', 'templates').replace('\\', '/'),
os.path.join('templates'),
)
2、我们需要在settings.py中添加PROJECT_ROOT,如其名即为当前工程的路径,可按以下方式配置
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
3、添加STATIC_ROOT以及STATIC_URL还有STATIC_DIRS
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), '..', 'static').replace('\\','/'),
os.path.join('static'),
)
4、还需要在urls.py文件中添加一个url模式匹配的路径为了能够成功调用js、css、image、media的方法。
if settings.DEBUG:
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
二、关于上传的图片以及其他文件或者多媒体文件无法显示的问题
你需要配置MEDIA_ROOT和MEDIA_URL
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'
由代码可见,media文件夹在settings.py文件夹下,为其一个子文件夹
三、个人见解
我也是个小菜鸟,并不是很懂上面配置的原理和机制,因此不在这里献丑了,仅仅是做为解决问题的方法给大家展示,我也在文件配置上面头疼了一整天,无法显示各种文件和图片,在官方的文档中也没有找到,以上的配置是我在stackoverflow、百度、CSDN找到的解决方法,仅仅在此汇总以下,以上配置方法对于我的工程来说已经解决了问题,如果您还有上面未提及的问题只能自行解决了。。。
- Mac os下Django settings.py文件配置以及图片文件上传无法显示问题
- django静态文件配置settings.py
- django logging在settings.py文件里配置
- Django 配置settings.py
- mac下svn无法上传.a文件的问题
- MAC下svn无法上传.a文件的问题
- Mac OS下显示隐藏文件
- mac os下查看显示隐藏文件
- Mac OS X下显示/隐藏文件
- mac OS 下配置SVN忽略文件
- Django下上传文件的问题
- mac下 静态文件css403无法显示
- Mac OS X 下如何配置才能通过 sz/rz 命令下载/上传文件
- Django url.py文件配置错误解决办法
- Mac OS显示隐藏文件
- Mac OS--显示隐藏文件
- Mac OS 显示隐藏文件
- MAC OS X下配置 Django + MongoDB
- 阿里巴巴上市路演ppt 官方完整版
- 2014.09.15 周一-节点-window
- Ubuntu 12.04安装vim和配置(超强vim,要的就是这个)
- Jsoup总结
- Android三种实现定时器的方法
- Mac os下Django settings.py文件配置以及图片文件上传无法显示问题
- 【iOS开发】 CoreText 理解与应用
- Gedit中文乱码
- Apache: You don't have permission to access / on this server
- Spring之基于注解的容器配置
- 不要老是抓着一个问题不放
- 第19期中国智能家居主题沙龙将于9月24日在上海蓝天经济城举行
- 焦点和焦距
- 在有导航条的页面上添加tableView