Django Project中静态文件的URL

时间:2014-09-29 13:49:05

标签: python django apache django-urls

我在郊区运行Django项目,如 www.example.com/django 。一切都工作正常,但我的静态文件不适用于这个郊区,因为他们正在采取的网址是 www.example.com/static/path_to_files ,但它应该将网址作为 www.example.com/django/static/path_to_files

对于其他网址也可能是这种情况,因为我认为每当我对任何链接使用任何网址时,必须将主机名与 www.example.com/django 一起使用,而不是 www.example.com

您还可以查看我的this问题,了解有关服务器配置文件的更多信息。

3 个答案:

答案 0 :(得分:0)

settings.py尝试:

STATIC_URL = '/django/static/'

此处提供更多信息:https://docs.djangoproject.com/en/dev/howto/static-files/

答案 1 :(得分:0)

您可以在开发期间手动为他们提供服务,方法是将行添加到urls.py:

urlpatterns = patterns('',
    # Media files
    url(r'^media/(?P<path>.*)$',
        'django.views.static.serve',
        {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}
    ),

    # Static files
    url(r'^static/(?P<path>.*)$',
        'django.views.static.serve',
        {'document_root': settings.STATIC_ROOT, 'show_indexes': True}
    ),
)

不要在制作中使用它,并阅读文档,其解释清楚。

答案 2 :(得分:0)

settings.py

中定义MEDIA_URL和STATIC_URL
MEDIA_URL = /django/media
STATIC_URL = /django/static

然后在模板中定义url时添加此变量:

<a href="{{ MEDIA_URL }}/path_to_media_file/">media</a>
<img src="{{ STATIC_URL }}/path_to_static_file" />

现在,您可以在任何想要创建网址的地方使用这些变量。