【问题标题】:Getting the Django admin media获取 Django 管理媒体
【发布时间】:2023-03-10 02:39:01
【问题描述】:

Django Admin 模块在几个页面上包含几个它自己的 JavaScript 文件。我想将这些媒体文件包含在自定义视图中。我该怎么做?

我查看了管理模板,但不确定最好的方法是什么。

更新:或者,我可以转到一个页面并复制/粘贴脚本。虽然感觉有更好的方法来做到这一点。

【问题讨论】:

    标签: javascript django django-admin


    【解决方案1】:

    在 settings.py 你需要启用上下文处理器 - TEMPLATE_CONTEXT_PROCESSORS

    ("django.contrib.auth.context_processors.auth", “django.core.context_processors.debug”, “django.core.context_processors.i18n”, “django.core.context_processors.media”, "django.core.context_processors.static", “django.contrib.messages.context_processors.messages”)

    可以在这里阅读更多内容http://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext 如果你使用的是 render_to_response 函数,你可以返回类似这样的内容

    return render_to_response('template.html', {}, RequestContext(request))

    之后,您可以在模板中使用媒体选项,例如 {{ ADMIN_MEDIA_PREFIX }}js/name_of_file.js

    【讨论】:

    • 最好补充一下,即使没有在设置中指定,默认情况下也会启用这些功能。
    • 所以我必须手动指定所有 .js 文件,而不是从某个地方全部抓取?此外,将{{ ADMIN_MEDIA_PREFIX }} 放入我的模板不会导致打印任何内容。
    猜你喜欢
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多