注册后的用户流量



我有以下用户流:

1) 用户注册。

2) 用户有一个"getting_started"页面,他在其中填写一些基本信息并添加图片。

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

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

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

if getting_started: 
    redirect to home/ 
else:
    ...(normal getting started view)...

您想要重定向的只是getting_started视图/页面吗?不要从全局变量的角度思考,要从数据库字段的角度思考!

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

您可以简单地在getting_started视图的开头进行检查,看看用户是否已经注册了

from django.http import HttpResponseRedirect
def getting_started_view(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('home_view'))

其中home_view在您的urls.py:中

url("...","someapp.views.viewname", name="home_view"),
...

(或者你可以硬编码重定向)

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

https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs

最新更新