python - 如何在python项目中的两个应用程序之间设置urlpatterns?
Posted
技术标签:
【中文标题】python - 如何在python项目中的两个应用程序之间设置urlpatterns?【英文标题】:How to set urlpatterns between two app in a project in python? 【发布时间】:2020-10-14 19:46:37 【问题描述】:我正在创建一个目前有两个应用程序的项目。 该项目和两个应用程序的 url 模式是:
camroid/urls.py
urlpatterns = [
path('', include('camroidapp.urls')),
path('accounts/', include('accounts.urls')),
path('admin/', admin.site.urls),
]
camroidapp/urls.py
urlpatterns = [
path('', views.index, name='index'),
]
accounts/urls.py
urlpatterns = [
path('login', views.login, name='login'),
path('register',views.register, name='register'),
path('logout', views.logout, name='logout')
]
我的 index.html 页面的标题部分
index.html
<header class="header-section">
<a href="index.html" class="site-logo">Camroid<!--<img src="img/logo.png" > --></a>
<div class="header-controls">
<button class="nav-switch-btn"><i class="fa fa-bars"></i></button>
<button class="search-btn"><i class="fa fa-search"></i></button>
</div>
<ul class="main-menu">
<li><a href="about.html">The Artist</a></li>
<li><a href="index.html">Home</a></li>
<li>
<a href="#">Portfolio</a>
<ul class="sub-menu">
<li><a href="portfolio.html">Portfolio 1</a></li>
<li><a href="portfolio-1.html">Portfolio 2</a></li>
<li><a href="portfolio-2.html">Portfolio 3</a></li>
</ul>
</li>
<li><a href="accounts/register">Register</a></li>
<li><a href="accounts/login">Login</a></li>
<li><a href="contact.html">Contact</a></li>
<li class="search-mobile">
<button class="search-btn"><i class="fa fa-search"></i></button>
</li>
</ul>
</header>
所以当我运行服务器时,它使用“http://127.1.1.1:8880/”和 当我点击登录时,它使用'http://127.1.1.1:8880/accounts/login' 但是当我从登录页面点击注册时,它会调用“http://127.1.1.1:8880/accounts/accounts/register”,这是一个无效的网址
那么我该怎么做,当我从登录页面转移到注册时,它调用'http://127.1.1.1:8880/accounts/register',当我从注册页面转移到登录页面时,它调用'http:// /127.1.1.1:8880/accounts/login'
【问题讨论】:
我认为问题出在您的模板 html 文件上。您可以在此处添加您的 HTML 文件,其中包含注册链接吗? @AstikAnand 我在我调用它的地方添加了它的标题部分 【参考方案1】:您应该在您的视图中使用 named urls,如下所示,以利用 relative urls。
<a href="% url 'register' %">Register</a>
<a href="% url 'login' %">Login</a>
【讨论】:
很高兴它成功了。如果有帮助,您可以将其标记为已选中。以上是关于python - 如何在python项目中的两个应用程序之间设置urlpatterns?的主要内容,如果未能解决你的问题,请参考以下文章
如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]