STATICFILES_DIRS
=
(
'templates/static',
)
urls.py中设置:
url(r'^staticfiles/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATICFILES_DIRS,
'show_indexes':
True}),
html中引用方式:
<link
href="/staticfiles/css/test.css"
rel="stylesheet"
type="手仔拆text/css">
这样设置完,文件是找到了,但毕枣是会出现编码错误,错误行是:
C:\Python27\lib\mimetypes.py
in
enum_types,
line
249
在网上找了半天,找到了解决编码错误的办法,
在mimetypes.py文件中,添加
reload(sys)
sys.setdefaultencoding('gb18030')
在Django中经缺颂如常需要配置图片、视频等表态文件,在配置时樱渗较为复杂,这里纪录一下:
在文件尾部加入以下目录,用于存放上传的文件
在models中写上image字段其中 %Y 代表年, %m 代表月, blank=True 代表可以为空。当上传文件时,代表上传到image目录下,以当前年月子目录的文件夹中。
image = models.ImageField(upload_to="image/%Y/%m", blank=True)
其中src中的{{ MEDIA_URL }}会在模板中渲染为第一步中的 /media/
如果您想在模板中使用{{MEDIA_URL}},请在“模板”的“context_processors”选项中添加 django.template.context_processors.media 。
通过以上步骤,基本上可以在前端正常渲染出结果了,但还需要给图片添加一个URL以正常显示。
第一行为引入静态文件的serve,第二行为导入工程配置文件中的 MEDIA_ROOT
在url中加入伏启:
看上面的图片,按你的导包方法,单独运行views是没问题的
但是在django里这样用不行,在运行django项目时,其实当前目录是整个项目的根谈薯目录
你可以在views目录下import os,然后 print(os.getcwd())查看当前目录:
打印的当前目录正是整个项目的根目录,我的是E:\mypython\day51...\blw:
你这里的就是G:\....Anno:
你要在Anno目录下导入data_model.py,是不是要带上app名才能进入子级目录对吧?
而且还有个问题就是,在以后的开发中,如孝很有可能在不同app下有相同名字的模块或者方法,比含橡者如你这里有三个app,app01,app02,app03,这三个app下都有common_model,那到底按什么区分呢?所以前面最好带上app名。
不过真想方便,可以使用:from .common_model import data_model
【.】代指当前文件的目录,这是一种相对路径的导入
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)