djangoページがあり、複数のページにさまざまなjs依存関係を追加しています。たとえば、1ページと2ページに、並べ替えたいテーブルがあります。したがって、両方のページに次のコードを含めます。
<link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap-sortable.css' %}">
<script type="text/javascript" src="{% static 'js/bootstrap-sortable.js' %}"></script>
たとえば、3ページと4ページにnvd3グラフがあります。だから私は次のコードを含めます:
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/nvd3/1.7.0/nv.d3.js"></script>
<link href="{% static 'js/nvd3-master/build/nv.d3.css' %}" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap-sortable.css' %}">
これらの依存関係のsrcurlを編集する必要がある場合は、それらを含むすべてのページを個別に編集する必要があります。
jsとcssの静的ファイルに変数を定義したいので、それらを複数回編集する必要はありませんが、一度だけ編集する必要があります。
このようなもの:
bootstrap_sortable_css = """<link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap-sortable.css' %}">"""
bootstrap_sortable_js = """<script type="text/javascript" src="{% static 'js/bootstrap-sortable.js' %}"></script>"""
そして、それを私のテンプレートに印刷するだけです。
<html>
<head>
{{bootstrap_sortable_css}}
</head>
<body>
content
{{bootstrap_sortable_js}}
</body>
</html>
私が見逃したこの基準はありますか?
ブロックを使用することをお勧めします。ブロックはテンプレートの継承に使用されます。したがって、1つのルートテンプレートファイルを持つことができ、すべてのページはルートテンプレートを継承する必要があります。
このようにcssとjsブロックを定義できます。
<html>
<head>
{% block css %}
{% endblock css %}
</head>
<body>
content
{% block js %}
{% endblock js %}
</body>
</html>
次に、ページのニーズに基づいて、ページテンプレートのブロックを上書きできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加