我被一个愚蠢的问题卡住了。
我正在django上使用一个表单(html),这个表单将被用来更新我的数据库中关于页面的信息。
所以我的问题是:django终端告诉我他正确地收到了邮件
app_1 | [10/Jan/2023 17:44:50] "GET /nb_database/49/ HTTP/1.1" 200 11810
app_1 | [10/Jan/2023 17:44:54] "POST /nb_database/49/ HTTP/1.1" 200 11810
然而,我做了一个快速的函数来知道我的信息从形式来的功能,这里的问题。该函数从来没有打印任何东西,我假设的请求从来没有达到该函数
下面是函数(位于名为'nb_database'的应用程序上):
def adding_address_to_db(request):
print("OK REQUETE RECEIVE")
urls.py(在同一应用程序上):
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('nb_database', views.nb_database, name='nb_database'),
path('nb_database/<int:annonce_id>/', views.detail, name='detail'),
path('nb_database/<int:annonce_id>/', views.adding_address_to_db, name='adding_address_to_db'),
]
这是HTML格式的表单,在本例中,假设它位于www.example.com页面上mysite.com/nb_database/49/
<form action="" method="post">
{% csrf_token %}
<input type="text" name="adding_address_to_db" placeholder="Entrez l'adresse" style="color: black;">
</form>
基本上,我希望能够回答生成的页面上的表单(mysite.com/nb_database/49/),并留在它一旦回答。
任何帮助都是受欢迎的!谢谢大家,祝你们愉快
2条答案
按热度按时间iyzzxitl1#
在urls.py中有两个相同的路径,当访问
mysite.com/nb_database/49/
时,只有第一个路径中的函数运行,第二个路径中的函数不运行。删除这一行,您的函数将运行:
ou6hu8tu2#
好吧,我解决了我的问题。
如前所述,你不能有2个网址指向2个不同的功能视图。
我不得不使用django提供的Form类。使用post方法和form类,我管理在生成页面的函数中添加我的函数,并处理何时发送post方法以捕获POST请求并执行代码。
下面是Django表单文档的链接:Django Documentation
这是我必须添加到渲染函数中的代码: