Django:在基于类的视图中包含媒体(css/js)

gue*_*tli 1 django django-class-based-views django-media

我正在将基于方法的视图中的旧django代码更新为基于类的视图.

我知道如何通过Media类在表单中包含媒体(css/js)

如果我的基于类的视图不包含任何表单,我如何使用媒体类?

Udi*_*Udi 5

CSS/JS通常在模板本身管理,而不是在视图中管理.请参阅https://docs.djangoproject.com/en/1.10/howto/static-files/

例如,使用base.html:

<!DOCTYPE html>
<html>
    <head>

        <title>
            {% block page_title %}{{ page_title }}{% endblock %}
        </title>

        {% block css %}
        {% endblock %}

    </head>
    <body>

        {% block main %}
        {% endblock %}

        {% block scripts %}
        {% endblock %}

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并使用my_page.html扩展它:

{% extends "base.html" %}
{% load staticfiles %}

{% block page_title %}
Hello!
{% endblock %}

{% block css %}
    <link href="{% static "page.css" %}" rel="stylesheet"/>
{% endblock %}

{% block main %}
Yo!
{% endblock %}

{% block scripts %}
    <script src="{% static 'my_scripts.js' %}"></script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)