【问题标题】:import user session data to other django app将用户会话数据导入其他 django 应用程序
【发布时间】:2020-11-02 09:27:37
【问题描述】:

我有一个 django 项目,其中包含两个应用程序,第一个称为“main”,用户可以在其中登录和注册,并制作所有身份验证内容,另一个是“app”,只有经过身份验证的用户才能访问。

Main.views:

def register(request):
if request.method == "POST":
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = form.save()
        username = form.cleaned_data.get('username')
        messages.success(request, f"New account created: {username}")
        login(request, user)
        return redirect("app:app_index")

    else:
        for msg in form.error_messages:
            messages.error(request, f"{msg}: {form.error_messages[msg]}")

        return render(request = request,
                    template_name = "main/register.html",
                    context={"form":form})
        
form = UserCreationForm
return render(request = request,
              template_name = "main/register.html",
              context={"form":form})

所有代码都可以正常工作,并允许我登录、注册、注销...但现在我需要将该用户导出到“应用”应用,以便使用应用模板上的用户数据,我该如何迁移用户及其所有数据?

我想我能做到

app.views:

from main.views import user

但这绝对行不通,任何建议将不胜感激

【问题讨论】:

    标签: python django authentication django-forms django-views


    【解决方案1】:

    实际上,您可以使用对象表示法简单地访问所有应用程序的使用信息。

    在我的例子中,用户对象具有username 属性,所以当我想使用用户的用户名时,我可以简单地输入

    user.username
    

    它会为登录的特定用户返回保存在数据库中的用户名

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2017-03-19
      • 2011-03-30
      相关资源
      最近更新 更多