我会开始说这不是一个重复的问题。我的问题与 Django 2.2 的 url 有点不同。
当将 HttpResponseRedirect 返回到同一应用程序中的另一个视图时,视图触发“str”对象不是映射错误。
我真的不知道出了什么问题。我在同一项目的其他应用程序中使用相同的方法并且它有效。
项目网址.py
urlpatterns = [
url(r'^$', Home.as_view()),
path('dashboard/', include('dashboard.urls')),
path('main/', include('main.urls'))
]
Run Code Online (Sandbox Code Playgroud)
应用程序 url.py
urlpatterns = [
path('', views.Section.as_view(), name='main-form')
]
Run Code Online (Sandbox Code Playgroud)
应用程序视图.py
class Home(View):
def get(self, request):
return render(request, 'index.html', context={})
def post(self, request):
return HttpResponseRedirect(reverse('main-form'))
class Section(View):
def get(self, request):
return HttpResponse("Test Ok")
Run Code Online (Sandbox Code Playgroud)
在发布主页表单后,它应该重定向到主表单视图(剖面视图类),但我收到错误。
如果我在模板 url 中使用 url,它会触发相同的错误{% url 'main-form' %}
如果我手动导航从地址栏查看,视图呈现良好。
怎么了?
我正在尝试使用两种用户模型,每个模型具有不同的“用户名”类型。
第一种用户类型是使用用户名和密码登录的管理员。二、使用手机号码和密码登录的客户。只有客户拥有自定义字段。
我尝试自定义 Django 用户模型,但它只允许一个身份验证用户模型。
我正在考虑使用身份验证后端。
管理员只能登录管理仪表板,而客户只能登录应用程序。
编辑。
与 不同的问题。我的用户类型有不同的登录方式。
我的解决方案:仅将 Django 的用户模型用于仪表板管理员。使用具有自定义身份验证后端的客户模型。