Skip to main content
 首页 » 编程设计

python之如何避免在 Django 中增加 URL

2024年10月01日25EasonJim

我是 Django 的新手,通过开发小项目来学习它。 目前我正在创建登录应用程序。我面临以下问题, 我在一个模板中写了表单标签:

<form method="GET" action="login_page/"> 
    {% csrf_token %} 
    <button type ="submit"> Login</button> 
</form> 

点击提交按钮后,我转到登录/页面 url。

在另一个模板中,我在表单标签下方写下了

<form method="GET" action= "Welcome/"> 
        {% csrf_token %} 
        <button type ="submit"> Sign Up</button> 
</form> 

我的网址是:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^login_page/', include('login.urls')) 
] 

urlpatterns=[

   #url(r'^$',TemplateView.as_view(template_name='base.html'),name='base'), 
   url(r'^$',views.HomeView.as_view(),name='home'), 
   url(r'^Welcome/$', views.WelcomeView.as_view(), name='Welcome'), 
   #url(r'^Welcome/$',TemplateView.as_view(template_name='Welcome.html'),name='Welcome'), 
   url(r'^logout/$',TemplateView.as_view(template_name='Logout.html'),name='Logout'), 
   url(r'^home/$',views.HomeView.as_view(),name='home') 

]

但问题是随着我继续点击提交按钮 url 不断增加,比如 http://localhost:8000/login_page/ localhost:8000/login_page/欢迎光临/ localhost:8000/login_page/Welcome/login_page

因此它给出了错误,因为它找不到第三个 url。如何纠正它。 ?我们可以在表单标签中转到 View 以执行操作吗?

请您参考如下方法:

使用 url 模板标签。通过这样做,这个帮助程序模板标签将自动用正确的 url 替换 url。

<form method="POST" action="{% url 'Welcome' %}"> 

其中 Welcome 是 url 名称,

url(r'^Welcome/$', views.WelcomeView.as_view(), name='Welcome'), 
                                                      #  ^ this one 

对其他网址执行相同的操作。

文档链接:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#url