テンプレートの 1 つで STATIC_URL を使用していますが、ある 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,})
URL
# 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 が適切にレンダリングされるようにするには、何を変更する必要がありますか?