0

我是 Django 和 python 的新手。我有个问题。有没有办法,在单击输入按钮后被重定向到同一个 change_form 页面而不被 Django 传递到 change_list 页面?这是我的意思的用户界面:

(在所有字段集下输入按钮)希望你能理解我的意思并给我一些回应。谢谢 :)。

4

3 回答 3

2

更改 submit_line.html 模板

我改变了:

{% if show_save %}<input name="_save" type="submit" value="{% trans 'Save' %}" class="default" {{ onclick_attrib }}/>{% endif %}

至:

{% if show_save %}<input name="_continue" type="submit" value="{% trans 'Save' %}" class="default" {{ onclick_attrib }}/>{% endif %}

这将导致默认保存按钮充当保存并继续按钮。

这个stackoverflow-questiondjango 文档可以帮助您正确更改 submit_line-template

完成“submit_line.html”:

{% load i18n %}
<div class="submit-row">
{% if show_save %}<input type="submit" value="{% trans 'Save' %}" class="default" name="_continue" {{ onclick_attrib }}/>{% endif %}
{% if show_delete_link %}<p class="deletelink-box"><a href="delete/" class="deletelink">{% trans "Delete" %}</a></p>{% endif %}
{% if show_save_as_new %}<input type="submit" value="{% trans 'Save as new' %}" name="_saveasnew" {{ onclick_attrib }}/>{%endif%}
{% if show_save_and_add_another %}<input type="submit" value="{% trans 'Save and add another' %}" name="_addanother" {{ onclick_attrib }} />{% endif %}
</div>
于 2012-06-12T15:40:19.327 回答
1

如果您在谈论 django 管理员,则有三个按钮:

  • 保存并添加新的
  • 保存并继续编辑(需要点这个)
  • 节省

如果您在谈论自己的应用程序,请在表单中添加下一个参数,在表单验证中捕获它并相应地重定向

编辑:

我看到您创建了一个自定义按钮,您可以覆盖 ModelAdmin 中的保存/输入方法并重定向到您想要的任何位置。只需在表单中添加一个隐藏的下一个输入。

例子:

设置.py

TEMPLATE_CONTEXT_PROCESSORS = (
    # other stuff
    "django.core.context_processors.request",
)

您的变更表格模板:

<input type="hidden" name="next" value="{{request.path}}" />
于 2012-06-12T15:22:38.847 回答
0

enter 按钮,将导致底层 html-form 被提交。这与 django 或 python 无关,是特定于浏览器的。

django change_form 有三个提交按钮,最后一个将使用。

有多种方法可以做到这一点:

  • 覆盖hange_form-template 并添加一些jquery 来响应按键事件(回车)并触发选择的按钮。

  • 重新排列这些按钮

于 2012-06-12T15:29:09.300 回答