0

Django-page-CMS を使用しています

すべて正常に動作しますが、CMS 内で使用されるページから拡張する独自のビューを作成すると、CSS が表示されません。

私が独自のビューを使用しない限り、これらのページは CSS を適切に表示するため、これは奇妙です。

この問題に関するいくつかの助け、またはこれが起こっている理由とそれを修正する方法についての少なくともいくつかの提案をいただければ幸いです.

静的ファイルのトリックを使用しています。

if settings.DEBUG:
urlpatterns += patterns('',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    url(r'^admin_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.ADMIN_MEDIA_ROOT}),

これが私がスタイルをリンクした方法です....jqueryへのリンクも存在しますが、これは影響しません。

<head>
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/style.css" />
</head>

次の方法でリンクされたベースを拡張するページにいくつかのスタイルがあります....

{% extends "base.html" %}
{% block page_style %}
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/index.css" />
{% endblock %}

繰り返しますが、これらのページのいずれかから拡張する独自のビューとページを作成するまで、すべてが正常に機能します。新しいページを表示すると、どのページにも CSS が表示されません。ベースでさえありませんが、独自のビューを使用しないと、すべてが正常に表示されます。この件についてお助けいただければ幸いです。

4

2 に答える 2

0

{%block page_style%} {%endblock%}はbase.html内にある必要があります

つまり、base.html:

<html>
    <head>
        {% block extrahead %}{% endblock %}
    </head>
    <body></body>
</html>

yourtemplate.html:

{% extends "base.html" %}
{% block extrahead %}
<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}css/index.css" />
{% endblock %}
于 2010-10-12T11:46:28.867 に答える
0

MEDIA_URLが正しく送信されませんでした。

RequestContext()が問題でした。content_instanceが設定されていないため、テンプレートがレンダリングされたときにMEDIA_URL変数が通過しませんでした。

render_to_responseを使用する場合....。

return render_to_response(YOUR_TEMPLATE, YOUR_TEMPLATE_CONTEXT,
context_instance=RequestContext(request))
于 2010-10-13T11:06:30.203 に答える