jQuery的在Django管理主页/仪表盘,登录和注销页面没有加载

问题描述 投票:0回答:1

我需要装载js文件throught所有Django管理页面。因此,我复制位于base.htmldjango/contrib/admin/templates/admin/文件并下templates/admin/base.html把它添加到我的模板文件夹。新增下jsapp_static/admin/js/文件(位置,我的静态文件)。

接下来,我下包括<script>标签base.html{% block javascripts %}标签。当我打开change_listchange_form页,js火灾正确。它不火的网页/仪表盘,登录和注销页面。返回一个错误,说明Uncaught ReferenceError: django is not defined。错误通常jQuery的时候尚未初始化抛出。

session_expiry.js

(function($){

    console.log('js has been called');

})(django.jQuery);

base.html文件

{% load i18n static %}<!DOCTYPE html>
{% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %}
<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>

    <head>
        <title>{% block title %}{% endblock %}</title>
        <link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}">
        {% block extrastyle %}{% endblock %}
        {% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}">{% endif %}
        {% block extrahead %}{% endblock %}
        {% block responsive %}
        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0">
        <link rel="stylesheet" type="text/css" href="{% static "admin/css/responsive.css" %}">
        {% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% static "admin/css/responsive_rtl.css" %}">{% endif %}
        {% endblock %}

        {% block javascripts %}
            <script type="text/javascript" src="{% static "admin/js/session_expiry.js" %}"></script>
        {% endblock %}

        {% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE">{% endblock %}
    </head>
    {% load i18n %}

    <body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}" data-admin-utc-offset="{% now "Z" %}">
        <!-- Container -->
        <div id="container">
            {% if not is_popup %}
            <!-- Header -->
            <div id="header">
                <div id="branding">{% block branding %}{% endblock %}</div>
                {% block usertools %}
                    {% if has_permission %}
                        <div id="user-tools">
                            {% block welcome-msg %}
                                {% trans 'Welcome,' %}
                                <strong>{% firstof user.get_short_name user.get_username %}</strong>.
                            {% endblock %}
                            {% block userlinks %}
                                {% if site_url %}
                                    <a href="{{ site_url }}">{% trans 'View site' %}</a> /
                                {% endif %}
                                {% if user.is_active and user.is_staff %}
                                    {% url 'django-admindocs-docroot' as docsroot %}
                                    {% if docsroot %}
                                        <a href="{{ docsroot }}">{% trans 'Documentation' %}</a> /
                                    {% endif %}
                                {% endif %}
                                {% if user.has_usable_password %}
                                    <a href="{% url 'admin:password_change' %}">{% trans 'Change password' %}</a> /
                                {% endif %}
                                <a href="{% url 'admin:logout' %}">{% trans 'Log out' %}</a>
                            {% endblock %}
                        </div>
                    {% endif %}
                {% endblock %}
                {% block nav-global %}{% endblock %}
            </div>
            <!-- END Header -->

            {% block breadcrumbs %}
                <div class="breadcrumbs">
                <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a>
                {% if title %} &rsaquo; {{ title }}{% endif %}
                </div>
            {% endblock %}

            {% endif %}

            {% block messages %}
                {% if messages %}
                    <ul class="messagelist">{% for message in messages %}
                    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message|capfirst }}</li>
                    {% endfor %}</ul>
                {% endif %}
            {% endblock messages %}

            <!-- Content -->
            <div id="content" class="{% block coltype %}colM{% endblock %}">
            {% block pretitle %}{% endblock %}
            {% block content_title %}{% if title %}<h1>{{ title }}</h1>{% endif %}{% endblock %}
            {% block content %}
            {% block object-tools %}{% endblock %}
            {{ content }}
            {% endblock %}
            {% block sidebar %}{% endblock %}
            <br class="clear">
            </div>
            <!-- END Content -->

            {% block footer %}<div id="footer"></div>{% endblock %}

        </div>
        <!-- END Container -->

    </body>
</html>

任何人都可以指出什么我可能会丢失。我使用Django 2.1.2。

javascript jquery django django-templates django-admin
1个回答
0
投票

django.jQuerydjango/contrib/admin/static/admin/js/jquery.init.js定义和位于django/contrib/admin/static/admin/js/jquery.js。你需要直接加载在你的模板的js文件

<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.