相关疑难解决方法(0)

Django:覆盖并扩展应用程序模板

如果要覆盖django中的应用程序附带的模板(在app/templates/app /中),则在另一个目录中创建一个同名模板,模板加载器在应用程序的模板目录之前检查该模板.如果您只想覆盖模板的某些块,您还必须复制整个模板广告更改该块,这实际上不是很干.

有没有人知道覆盖orginial模板的方法,同时在扩展它时,你只需要覆盖你想要改变的特定块?(事情是这样做而不更改模板的名称,因为在某些情况下,您可能必须更改视图以使其与另一个模板一起使用)

编辑:正如亚当泰勒在Django 1.9的评论中所指出的,这可能没有任何黑客攻击.

django django-templates

43
推荐指数
3
解决办法
2万
查看次数

django 1.4如何从客户端自动获取用户的时区

我想知道是否有办法从客户端自动检索用户的时区.特别是在登录时.

我试图在登录页面中添加它(使用auth.login):

{% get_current_timezone as TIME_ZONE %}
Run Code Online (Sandbox Code Playgroud)

然后在登录表单中添加它

<input type="hidden" name="next" value="/redirect/?tz={{ TIME_ZONE }}">
Run Code Online (Sandbox Code Playgroud)

tz始终是服务器的时区.

python django timezone

13
推荐指数
3
解决办法
2万
查看次数

扩展管理员的app change_form模板时无限递归

我有以下模板template/admin/change_form.html:

{% extends "admin/change_form.html" %}
{% block extrahead %}
  {% include "dojango/base.html" %}
  {% block dojango_content %}
  {% endblock %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但是出于某种原因,它会抛出一个

TemplatesyntaxError: TemplateSyntaxError at /admin/cms/post/add/
Caught RuntimeError while rendering: maximum recursion depth exceeded while calling a Python object
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-admin

12
推荐指数
1
解决办法
2840
查看次数

django管理员更改列表中的自定义list_editable字段,它不直接对应于模型字段

假设我的模型看起来像这样(这是一个简化的例子):

class Person(Model):
  first_name = CharField(...)
  last_name = CharField(...)

  def name():
    return first_name + ' ' + last_name
Run Code Online (Sandbox Code Playgroud)

在管理更改列表中将名称显示为单个列非常简单.但是,我需要一个可编辑的"名称"字段,该字段可从列表页面进行编辑,然后我可以解析该字段以提取和设置模型字段值.解析不是问题.我只是想知道如何在列表页面上创建一个不直接与模型字段对应的可编辑表单字段.

python django django-admin

9
推荐指数
1
解决办法
5594
查看次数

如何在django admin的注册表中删除用户名字段?

使用 rest-framework 和 django-allauth 设置标志删除登录和注册所需的用户名:

#settings.py
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
Run Code Online (Sandbox Code Playgroud)

但我仍然看到管理员注册表中的用户名字段和用户列表中的用户名字段(没有用户名的用户为空)。

我怎样才能删除它?

python django admin django-rest-framework django-allauth

6
推荐指数
2
解决办法
5880
查看次数

Django:在管理界面中使用 TinyMCE 4

在尝试了各种方法让 TinyMCE 作为我在 Django 管理中的 HTML 内容的编辑器后,我终于让它与本教程一起使用 - https://github.com/ITCase-django/django-tinymce-4

但是,使用这种方法,我必须拥有 Django 1.9 和“Grappelli”管理皮肤,而我宁愿避免使用。我试图删除它,但它也删除了 TinyMCE。

我也尝试使用HTMLField()from django-tinymcepackage,但这种方式得到了非常粗糙的编辑器,只有少数选项(粗体、斜体、列表等等)。

是否有任何“最佳实践”让 Django(最新版本)管理具有成熟的 TinyMCE 4?

编辑:在尝试了各种选项(例如 HTMLField() 的高级主题)之后,我又回到了开始使用 Grappelli 主题的地方。我想我可以忍受这个主题一段时间。

python django tinymce django-tinymce tinymce-4

6
推荐指数
1
解决办法
2450
查看次数

在 django 中添加管理索引页面的链接

一个页面如何链接到django的管理页面?我尝试更改 base.html 页面,但它已反映到管理的所有 html 页面上。这可以仅链接到列出所有应用程序的管理索引页面吗?

django django-templates

5
推荐指数
2
解决办法
2771
查看次数

在Django管理页面上添加链接和按钮

有没有一种方法可以在django管理员页面上添加一些外部链接和按钮?我正在尝试在django-admin登录页面上添加我的网页的链接,但无法这样做。

django django-admin

5
推荐指数
1
解决办法
3427
查看次数

向 Django Admin 添加新页面

我正在寻找有关如何向 django 管理界面添加全新页面的信息。我需要添加一个视图,允许管理员更改现有文本文件的内容。该视图需要存在于现有的 django 管理应用程序中。我正在使用 django 1.9。

我找到了有关扩展现有页面但未添加全新页面的信息。这可能吗?

python django

5
推荐指数
1
解决办法
1160
查看次数

覆盖 Django 管理中的注销链接

有没有办法覆盖log outDjango 管理页面上的链接?我试图在用户注销时删除 cookie。

django

5
推荐指数
1
解决办法
4409
查看次数

覆盖单个模型或应用的submit_line.html

我想为单个模型或单个应用程序覆盖commit_line.html(两者都可以工作-该应用程序只有一个模型)。我在文档中看到我无法做到这一点(https://docs.djangoproject.com/en/1.5/ref/contrib/admin/#templates-which-may-be-overridden-per-app-or-model

有什么方法可以测试模板需要调用哪种模型或应用程序,以便我可以添加一些条件行为?也许有某种方法可以为特定的应用程序或模型使用不同的模板来代替commit_line.html?

mishbah的答案解决了我的第一个问题,但是现在我面临另一个问题-完成我的代码后,将运行一些添加行的事情。我不希望那样发生。

这是我要完成的工作:

  1. 用户点击添加按钮
  2. 使用我的自定义按钮显示添加对象页面
  3. 单击我的按钮后,我将执行ajax调用并在add div下面显示结果,直到用户单击按钮,此页面才会显示。

所有这些都有效-我唯一的问题是将行添加到数据库中-我想以某种方式防止这种情况的发生。

这是我的代码:

在主管理页面上,我只有添加按钮:

在此处输入图片说明

这是我的change_form.html:

{% extends "admin/change_form.html" %}

{% block submit_buttons_bottom %}

<style type="text/css">
    #id_tool_configuration {
        white-space: pre-wrap;
    }   
</style>

<div class="submit-row">
    <input value="Configure" class="default" name="configure" onclick="configureTools(document.getElementById('id_tool_configuration').value); " />
</div>

<script src="/static/scripts/jquery-1.7.js" type="text/javascript"></script>

<script type="text/javascript">
    function configureTools(tcd) {
        var toolConfigData = tcd;
        var request = new XMLHttpRequest();
        var params = 'toolConfigData='+encodeURIComponent(toolConfigData);
        request.open('GET', '{% url 'motor.configuration.views.configure' %}?'+params);
        request.setRequestHeader("Content-type", "text/plain; charset=utf-8");

        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                if (request.status …
Run Code Online (Sandbox Code Playgroud)

django ajax django-admin

4
推荐指数
1
解决办法
1892
查看次数

Django 1.6管理面板定制

现在我正在开发一个反馈应用程序,

因此,管理员必须查看来自用户的消息,过滤它们(已读/未读)并将其标记为重要.我已经完成了我需要的所有功能,但我无法自定义我的标题.例如.更改列表中有一个默认标题(请参阅屏幕截图,选中此标题),如何删除这些标题或自定义它们?截图

非常感谢提前.

python django customization django-admin

3
推荐指数
1
解决办法
1791
查看次数