gpt4 book ai didi

python - Django 管理自定义按钮不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:46 25 4
gpt4 key购买 nike

对于我的 Django 自定义用户模型,我有一个 license_key 字段。在管理界面上,为了便于使用,我尝试创建一个按钮,它为您当前正在查看的用户生成一个新的许可证 key 。这是我重写的change_form.html,就像 Django 文档中建议的那样。

/main/templates/admin/main/MyUser/change_form.html:

{% extends "admin/change_form.html" %}
{% load i18n admin_urls %}

{% block form_top %}

<form class="form-horizontal" method="POST" action="/auth/gen_new_aero_license/">
{% csrf_token %}

<div class="control-group">
<div class="controls controls-row">
<button type="submit" class="btn btn-primary">
Generate new license
</button>
</div>
</div>
</form>
{% endblock %}

此表单调用我在主视图文件中定义的函数...

主/views.py:

def auth_gen_new_aero_license(request):
u = MyUser.objects.get(username=request.user.username)
u.license_key = 'XXX'
u.save()
return redirect('/')

这是我对这个新函数的 urls.py 定义,因为它可能会有所帮助:

url(r'^auth/gen_new_aero_license/$', 'main.views.auth_gen_new_aero_license', name='auth_gen_new_aero_license'),

我什至没有调用脚本在views.py 中生成新的动态license_key。我只是出于测试目的将其设置为某个随机值。

所以问题是:当我单击按钮时,它只会刷新我所在的当前用户,并且所有值都已被删除,从而给我带来错误。就好像它试图删除所有字段,然后保存该用户,但该用户现在是无效用户。

我尝试调试,似乎它甚至从未进入我的views.py 文件中的函数。我还更新了 urls.py,因此 view.py 中的函数应该有效。

我想做的事情可能吗?或者,还有更好的方法?或者可能出了什么问题。

如果您需要更多说明,请询问!

谢谢

编辑:此外,现在所有内置管理按钮都无法在用户页面上工作,即 - 保存、保存并添加另一个、保存并继续编辑...

最佳答案

对于您想要完成的任务来说,表格并不是必需的。您可以将表单替换为:

<a href="{% url "auth_gen_new_aero_license" %}" class="btn btn-primary">Generate new licence</a>

关于python - Django 管理自定义按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com