简体   繁体   English

在 Django 中注册用户后如何重定向到页面

[英]How to redirecting to a page after registering a user in - Django

After a user successfully registers an account, the webpage redirected to some other locations... I want it to redirect to a specific path, 'products/index' (products is myapp) after successful registration the user logged in automatically.用户成功注册帐户后,网页重定向到其他一些位置...我希望它在成功注册后重定向到特定路径“产品/索引”(产品是 myapp)用户自动登录。 I am here using function based view..我在这里使用基于 function 的视图..

views.py视图.py

def register(request):
    if request.method == 'GET':
        form  = RegisterForm()
        context = {'form': form}
        return render(request, 'register.html', context)
    if request.method == 'POST':
        form  = RegisterForm(request.POST)
    if form.is_valid():
        form.save()
        user = form.cleaned_data.get('username')
        messages.success(request, 'Account was created for ' + user)
        return redirect('index.html')
    else:
        print('Form is not valid')
        messages.error(request, 'Error Processing Your Request')
        context = {'form': form}
        return render(request, 'register.html', context)
    return render(request, 'register.html', {})

@login_required
def index(request):
    products = product.objects.all()
    return render (request,'index.html',{'products':products})
def register(request):
    if request.method == 'GET':
        form  = RegisterForm()
        context = {'form': form}
        return render(request, 'register.html', context)
    if request.method == 'POST':
        form  = RegisterForm(request.POST)
        if form.is_valid():
            form.save()
            user = form.cleaned_data.get('username')
            messages.success(request, 'Account was created for ' + user)
            return redirect('index')
        else:
            print('Form is not valid')
            messages.error(request, 'Error Processing Your Request')
            context = {'form': form}
            return render(request, 'register.html', context)

You can do something like this to redirect user你可以做这样的事情来重定向用户

if form.is_valid():
   form.save()
   user = form.cleaned_data.get('username')
   messages.success(request, 'Account was created for ' + user)
   return redirect('products:index')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM