我正在 Book 应用程序中构建 Django 模板,并使用 URL 标签重定向到 Account 应用程序的 URL。但它说account' is not a registered namespace。
书.url:
app_name = 'book'
urlpatterns = [
path('', views.HomePageView.as_view(), name='home'),
path('account/', include('account.urls', namespace='account'))
]
Run Code Online (Sandbox Code Playgroud)
书评:
class HomePageView(generic.TemplateView):
template_name = 'book/home.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['all_books'] = Book.objects.all()
return context
Run Code Online (Sandbox Code Playgroud)
模板/book/home.html:
<div id="register">
<p>
<a href="{% url 'account:register' %}"> Sign Up </a>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
帐户/网址:
app_name='account'
urlpatterns=(
path('register/', views.RegisterView.as_view(), name='register'),
path('successful/', views.successful_created, name='successful'),
)
Run Code Online (Sandbox Code Playgroud)
您面临的问题主要是因为您试图account从book应用程序定义应用程序。你需要做的是
在与添加书籍和帐户urls.py应用程序位于同一目录中的主项目中。settings.py
urlpatterns = [
url(r'^book/', include('book.urls', namespace="book")),
url(r'^account/', include('account.urls', namespace="account")),
]
Run Code Online (Sandbox Code Playgroud)
现在你的book.urls将如下所示:
app_name = 'book'
urlpatterns = [
path('', views.HomePageView.as_view(), name='home')
]
Run Code Online (Sandbox Code Playgroud)
帐户/网址将显示:
app_name='account'
urlpatterns=(
path('register/', views.RegisterView.as_view(), name='register'),
path('successful/', views.successful_created, name='successful'),
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |