2012-02-27 78 views
0

我来自PHP,Python和Django是我的新手。我有一个简单的问题,但已经坚持了几个小时,仍然无法找出哪里出了问题。django静态文件与“使用模板标记”方法

我想插入一个简单的图像到模板中。

我按照 TemplateSyntaxError 'staticfiles' is not a valid tag library'https://docs.djangoproject.com/en/1.3/howto/static-files/#with-a-template-tag

以下是我的设置。

  1. 我的静态文件夹位于/myproject/myapp/static/。 img路径是/static/images/hi.jpg
  2. 在img标签中的src值"/static/images/hi.jpg"时呈现页面时
  3. 设置在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"

  • 最后,应用程序的URL是http://127.0.0.1:8000/myapp/
  • 什么部分被错误地配置了吗?任何想法?十分感谢你的帮助。抱歉格式不佳。

    回答

    0

    在你的urls.py你应该添加静态文件的URL:

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

    非常感谢你@ miki725,你救了我的一天! – hjchin 2012-02-28 00:25:47

    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)。

    相关问题