我在我的一个模板中使用 STATIC_URL,如果我使用一个 url,它可以正常工作,如果我使用另一个,它会失败。在这两种情况下,完全相同的视图正在使用完全相同的模板运行。
模板代码:
<link href="{{ STATIC_URL }}css/form.css" type="text/css" rel="stylesheet" />
<!-- rest of page... -->
查看代码:
def myform(request):
if request.method == 'POST':
form = MyForm(request.POST, request.FILES)
obj = save_form(form)
if obj:
send_confirmation_email(obj)
return redirect('done-page')
else:
form = MyForm()
return render(request, 'template.html', {'form': form,})
网址
# site urls.py
urlpatterns = patterns('',
url(r'^$', 'site.app.views.myform'),
url(r'^app/', include('site.app.urls'),
#...
)
# app urls.py
urlpatterns('site.app.views',
url(r'^$', 'myform'),
#...
)
以上是我的 django 网站的片段。如果通过“mydomain.com/”(站点的索引)访问该页面,则正确呈现 STATIC_URL 并正确链接 css 文件。如果通过“mydomain.com/app/”(应用程序的索引)访问页面,则 STATIC_URL 变为空白,因此没有 css,但页面的其余部分会正确呈现。
我的印象是,如果视图和模板相同,则 url 应该是无关紧要的。我错过了什么吗?无论使用什么 url,我必须更改什么才能让 STATIC_URL 正确呈现?