首页 文章

django staticfiles带有“With a template tag”方法

提问于
浏览
0

我来自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中设置

STATIC_URL = '/static/'    
    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'django.contrib.admin')
  • 在模板中,我有
{% load static %}
 {% get_static_prefix as STATIC_PREFIX %}

和图像的源部分

src="{{ STATIC_PREFIX }}images/hi.jpg"

哪个部分配置错误?任何的想法?非常感谢你的帮助 . 抱歉格式不佳 .

2 回答

  • 1

    在你的urls.py中你应该添加静态文件网址:

    # urls.py
    
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    
    urlpatterns = patterns('',
        ...
    )
    
    urlpatterns += staticfiles_urlpatterns()
    
  • 0

    我在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) .

相关问题