带有“带有模板标签”方法的 django 静态文件
Posted
技术标签:
【中文标题】带有“带有模板标签”方法的 django 静态文件【英文标题】:django staticfiles with "With a template tag" method 【发布时间】:2012-03-17 10:27:33 【问题描述】:我来自 php,Python 和 Django 对我来说是新手。我有一个简单的问题,但已经坚持了几个小时,仍然无法找出问题所在。
我想在模板中插入一个简单的图像。
我关注了 TemplateSyntaxError 'staticfiles' is not a valid tag library' 和 https://docs.djangoproject.com/en/1.3/howto/static-files/#with-a-template-tag
以下是我的设置。
-
我的静态文件夹位于
/myproject/myapp/static/
。而img路径是/static/images/hi.jpg
。
页面渲染时img标签中的src值为"/static/images/hi.jpg"
setting.py 中的设置
在模板中,我有
% 加载静态 % % get_static_prefix as STATIC_PREFIX %以及图片的来源部分
src=" STATIC_PREFIX images/hi.jpg"
-
最后,app的url是http://127.0.0.1:8000/myapp/
哪个部分配置错误?任何想法?十分感谢你的帮助。很抱歉格式不好。
【问题讨论】:
【参考方案1】:我在 html 中使用 % load staticfiles %
和例如
<img src="/static/images/loader.gif" alt="loader.gif"></img>
也可以
<img src="% static 'images/loader.gif %" alt="loader.gif"></img>
使用 setting.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
它可以工作(Django 1.7 和 Python3.4)。
【讨论】:
【参考方案2】:在您的 urls.py 中,您应该添加静态文件 url:
# urls.py
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
...
)
urlpatterns += staticfiles_urlpatterns()
【讨论】:
非常感谢@miki725,你拯救了我的一天!以上是关于带有“带有模板标签”方法的 django 静态文件的主要内容,如果未能解决你的问题,请参考以下文章
Django-admin.py startproject --带有模板标签的模板