简体   繁体   English

如何在Django模板视图中重定向url?

[英]How to redirect url in Django Template View?

I want to send Json data and then redirect back to home.Should i use success_url? 我想发送Json数据,然后重定向回首页。我应该使用success_url吗?

   class ApiLoginView(TemplateView):
        template_name = 'index.html'

        def post(self,request):
            email = request.POST.get('login-email')
            password = request.POST.get('login-password')

            API_KEY = GetAPIkey().api_key_token()
            API_URL = GetAPIurl().api_url_token()
            parameter = {
                'authToken':API_KEY,
                'email':email,
                'password':password,
            }
            r = requests.post(url = API_URL, params=parameter)
            if email:
                request.session['email'] = email
            return HttpResponse(r)

Use HttpResponseRedirect class as 使用HttpResponseRedirect类作为

from django.http.response import HttpResponseRedirect


class ApiLoginView(TemplateView):
    template_name = 'index.html'

    def post(self, request):
        # Your code
        return HttpResponseRedirect('/home/')


UPDATE UPDATE
I think you can't redirect to specific page with data by using HttpResponseRedirect . 我认为您无法使用HttpResponseRedirect数据重定向到特定页面。 So use render() function and pass it as context data 因此,使用render()函数并将其作为context数据传递

from django.shortcuts import render


class ApiLoginView(TemplateView):
    template_name = 'index.html'

    def post(self, request):
        # Your code
        return render(request, 'home_template.html', context={'response': r})

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

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