Python 注册后的用户流

Python 注册后的用户流,python,django,Python,Django,我有以下用户流: 1) 用户注册 2) 用户有一个“getting_started”页面,在该页面中他填写一些基本信息并添加一张图片 3) 用户激活他的电子邮件并登录 用户在入门页面上填写完信息后,如果返回到入门/页面,我希望用户被重定向到他的主页/。实现这一点最简单的方法是什么?(作为参考,类似于LinkedIn或Facebook的注册流) 我想到的方法是,在用户填写getting_started页面后,设置一个全局变量getting_started=1,并在getting_started页面

我有以下用户流:

1) 用户注册

2) 用户有一个“getting_started”页面,在该页面中他填写一些基本信息并添加一张图片

3) 用户激活他的电子邮件并登录

用户在入门页面上填写完信息后,如果返回到
入门/
页面,我希望用户被重定向到他的
主页/
。实现这一点最简单的方法是什么?(作为参考,类似于LinkedIn或Facebook的注册流)

我想到的方法是,在用户填写
getting_started
页面后,设置一个全局变量getting_started=1,并在
getting_started
页面上,执行--


是否只是要重定向的getting_started视图/页面?不要考虑全局变量,要考虑数据库字段

用户注册后,他们将成为注册用户(如果您使用的是djangos auth app),并且在数据库中有一个条目。因此,您只需检查用户是否已注册:如果已注册,请重定向,否则允许他们继续注册

您只需在getting_started视图的开始处进行检查,查看用户是否已经注册

from django.http import HttpResponseRedirect

def getting_started_view(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('home_view'))
其中主页视图位于您的URL.py中:

url("...","someapp.views.viewname", name="home_view"),
...
(或者您可以硬编码重定向)

如果您正在寻找更复杂的重定向(可能是许多需要重定向到主页的页面),您应该考虑编写一些中间件。这将允许您拦截传入的每个请求,查看它是否指向某个页面,并重定向


是否只是要重定向的入门视图/页面?不要考虑全局变量,要考虑数据库字段

用户注册后,他们将成为注册用户(如果您使用的是djangos auth app),并且在数据库中有一个条目。因此,您只需检查用户是否已注册:如果已注册,请重定向,否则允许他们继续注册

您只需在getting_started视图的开始处进行检查,查看用户是否已经注册

from django.http import HttpResponseRedirect

def getting_started_view(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('home_view'))
其中主页视图位于您的URL.py中:

url("...","someapp.views.viewname", name="home_view"),
...
(或者您可以硬编码重定向)

如果您正在寻找更复杂的重定向(可能是许多需要重定向到主页的页面),您应该考虑编写一些中间件。这将允许您拦截传入的每个请求,查看它是否指向某个页面,并重定向


谢谢,这很有帮助。一个规定:如果用户在getting_started页面上,并且他在链接中单击了身份验证电子邮件,我希望用户仍然能够填写getting_started页面。如何确保这一点?您可以在用户配置文件中添加一个字段(布尔字段),用于跟踪此信息是否已填写。如何保存这些额外的入门数据?您不必使用额外的字段,只需对额外数据进行查询以查看它是否存在,并相应地重定向,即如果GettingStartedData.objects.filter(user\u id=user\u id).exists()…谢谢,这非常有帮助。一个规定:如果用户在getting_started页面上,并且他在链接中单击了身份验证电子邮件,我希望用户仍然能够填写getting_started页面。如何确保这一点?您可以在用户配置文件中添加一个字段(布尔字段),用于跟踪此信息是否已填写。如何保存这些额外的入门数据?您不需要使用额外的字段,只需对额外的数据执行查询以查看它是否存在,并相应地重定向,即如果GettingStartedData.objects.filter(user\u id=user\u id).exists()。。。