gpt4 book ai didi

html - 如何通过 Django 模板中的按钮调用 View 函数?

转载 作者:行者123 更新时间:2023-12-05 07:32:11 25 4
gpt4 key购买 nike

我已经搜索了一些相关问题,但我不知道该怎么做。这就是我在这里发布新问题的原因。

我有一个 base.html 文件,并且有一个按钮应该运行 views.py 文件中的函数。这是按钮代码:

<form role="form" action="" method="POST">
{% csrf_token %}
<input type="submit" class="btn" value="Click" name="mybtn">
</form>

这是我在 views.py 文件中的函数:

def create_new_product(request):
if request.method == 'POST':
'''Execute the code here'''
return render (request, 'products/base.html')

在我的 Productsurls.py 文件中:

app_name = 'products'
urlpatterns = [
path('create-new-product/', views.create_new_product),
path('', views.IndexView.as_view(), name='base'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
]

通常我在 views.py 文件中有一个 IndexView 类,它列出了所有当前产品,我期望从上述函数中生成新产品和新产品也将列在“产品”页面中。

顺便说一句,上面的函数不在 IndexView 类中。

最佳答案

您将与 action="#"
保持在同一页面上请改用 action="",这样您将停留在同一页面但会重新加载。
更新:
阅读您的评论。
name 参数对于在 Django 模板中调用您的 url 很有用,例如:

path('create-new-product/', views.create_new_product, name='create_new_product')

app_name = 'products' 非常重要。它告诉 Django 在哪里检查你的路径。因此,您可以通过以下方式在项目的任何地方调用您的 View :

<a href="{% url 'products:create_new_product' %}">...</a>
<form action="{% url 'products:create_new_product' %}">...</form>

关于html - 如何通过 Django 模板中的按钮调用 View 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51424783/

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