我已经看了http://docs.djangoproject.com/en/dev/howto/static-files/,但我仍然对如何加载css /图像文件感到困惑。
在我的服务器上,images文件夹和css文件位于/ srv / twingle / search
my urls.py
1 from django.conf.urls.defaults import *
2
3 # Uncomment the next two lines to enable the admin:
4 # from django.contrib import admin
5 # admin.autodiscover()
6
7 urlpatterns = patterns('twingle.search.views',
8 url(r'^$', 'index'),
9 url(r'^search/(?P<param>\w+)$', 'index'),
10
11 (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
12 {'document_root': '/srv/twingle/search'}),
13
14 )
我尝试按如下方式访问我的css,
<link rel="stylesheet" type="text/css" href="/site_media/style.css" />
这正是教程所说的,但它不起作用。有什么建议吗?
答案 0 :(得分:3)
你已经关闭了第10行的urlpatterns,所以你的site_media声明只是坐在那里,没有附加到任何东西。摆脱10上的额外近距离。
编辑添加您还使用了前缀参数,该参数也应用于静态视图。这样做:
urlpatterns = patterns('twingle.search.views',
url(r'^$', 'index'),
url(r'^search/(?P<param>\w+)$', 'index'),
)
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': '/srv/twingle/search'})
)
答案 1 :(得分:2)
仅使用django.views.static.serve
进行开发或测试。顺便说一句,您对静态文件的规则不会被写为patterns
函数的参数。它应该是这样的:
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('twingle.search.views',
url(r'^$', 'index'),
url(r'^search/(?P<param>\w+)$', 'index'),
url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': '/srv/twingle/search'}),
)
答案 2 :(得分:0)
您应该将规则直接写入网络服务器配置以匹配媒体网址。 或者使用不同的vhost来存储静态文件。
不在django配置中