小编cri*_*iam的帖子

如何修复“str”对象不是映射错误

我会开始说这不是一个重复的问题。我的问题与 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-urls django-views

8
推荐指数
2
解决办法
2万
查看次数

如何在 Django 中使用多个用户模型?

我正在尝试使用两种用户模型,每个模型具有不同的“用户名”类型。

第一种用户类型是使用用户名和密码登录的管理员。二、使用手机号码和密码登录的客户。只有客户拥有自定义字段。

我尝试自定义 Django 用户模型,但它只允许一个身份验证用户模型。

我正在考虑使用身份验证后端。

管理员只能登录管理仪表板,而客户只能登录应用程序。

编辑。

与 不同的问题。我的用户类型有不同的登录方式。

我的解决方案:仅将 Django 的用户模型用于仪表板管理员。使用具有自定义身份验证后端的客户模型。

authentication django django-models

6
推荐指数
1
解决办法
7427
查看次数