django中怎么载入css等静态文件

django中怎么载入css等静态文件,第1张

settings.py中的设置戚枝:

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

【.】代指当前文件的目录,这是一种相对路径的导入


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12273366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存