django视图不返回httpresponse对象,尽管我返回了一个

django视图不返回httpresponse对象,尽管我返回了一个,django,Django,嘿,伙计们,我正在使用django开发一个项目管理网站,当我验证用户登录到仪表板时,我发现视图equipo.frontends.views.hoddashboard没有返回HttpResponse对象时出现此错误 my views.py如下所示: from django.http import HttpResponse from django.template import RequestContext from django.shortcuts import render_t

嘿,伙计们,我正在使用django开发一个项目管理网站,当我验证用户登录到仪表板时,我发现视图equipo.frontends.views.hoddashboard没有返回HttpResponse对象时出现此错误

my views.py如下所示:

 from django.http import HttpResponse
    from django.template import RequestContext
    from django.shortcuts import render_to_response
    from django.views.generic.simple import direct_to_template
    from django.template.loader import get_template
    from django.template import Context
    from django.forms import *
    from django.contrib.auth import authenticate
    from django.contrib import auth 
    from django.http import HttpResponseRedirect

    def hoddashboard(request):
         if request.method=='POST':
             username=request.POST.get('Username')
             password=request.POST.get('Password')
             user=authenticate(username=username,password=password)
             if user is not None:
                 auth.login(request, user)
                 team="team.png"
                 t={'team1':team}
                 return HttpResponseRedirect('/home/aditya/Desktop/equipo/equipo/frontend      /templates/hodnewdash.html')
    <html>
        <head>
            <title>hod-login</title>
            <style type="text/css">.hod2{position:absolute;left:160;top:150;}
                .hod1{position:absolute;left:870;top:180;}
                .hod2{position:absolute;left:160;top:150;}
            </style>
        </head>
        <body>
             <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'>
      <img src='{{MEDIA_URL}}hod.png' style='width:100%;height:100%' alt='[]' />
    </div>
            <img height="300" width="450" class="hod2" src="{{MEDIA_URL}}hod1.jpeg" />
             {%block content %}
            <form action="hodnewdash.html" class="hod1" method="POST" name="hodlogin">{% csrf_token %}
                <label>Username:</label><input type="text" name="uname" size="20"> </input><br />
                <br />



                <label>Password:</label><input type="password" name="pwd" value="" size="20" />
                <br /><br />
                <input  type="submit" value="submit" name="submit" />
            <input type="hidden" name="next" value="hodnewdash.html" />
            </form>
        {% endblock %}
        </body>
    </html>
我的html页面如下所示:

 from django.http import HttpResponse
    from django.template import RequestContext
    from django.shortcuts import render_to_response
    from django.views.generic.simple import direct_to_template
    from django.template.loader import get_template
    from django.template import Context
    from django.forms import *
    from django.contrib.auth import authenticate
    from django.contrib import auth 
    from django.http import HttpResponseRedirect

    def hoddashboard(request):
         if request.method=='POST':
             username=request.POST.get('Username')
             password=request.POST.get('Password')
             user=authenticate(username=username,password=password)
             if user is not None:
                 auth.login(request, user)
                 team="team.png"
                 t={'team1':team}
                 return HttpResponseRedirect('/home/aditya/Desktop/equipo/equipo/frontend      /templates/hodnewdash.html')
    <html>
        <head>
            <title>hod-login</title>
            <style type="text/css">.hod2{position:absolute;left:160;top:150;}
                .hod1{position:absolute;left:870;top:180;}
                .hod2{position:absolute;left:160;top:150;}
            </style>
        </head>
        <body>
             <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'>
      <img src='{{MEDIA_URL}}hod.png' style='width:100%;height:100%' alt='[]' />
    </div>
            <img height="300" width="450" class="hod2" src="{{MEDIA_URL}}hod1.jpeg" />
             {%block content %}
            <form action="hodnewdash.html" class="hod1" method="POST" name="hodlogin">{% csrf_token %}
                <label>Username:</label><input type="text" name="uname" size="20"> </input><br />
                <br />



                <label>Password:</label><input type="password" name="pwd" value="" size="20" />
                <br /><br />
                <input  type="submit" value="submit" name="submit" />
            <input type="hidden" name="next" value="hodnewdash.html" />
            </form>
        {% endblock %}
        </body>
    </html>

hod登录
.hod2{位置:绝对;左侧:160;顶部:150;}
.hod1{位置:绝对;左侧:870;顶部:180;}
.hod2{位置:绝对;左侧:160;顶部:150;}
{%block content%}
{%csrf_令牌%}
用户名:

密码:

{%endblock%}
如果直接请求您的URL(使用
GET
),并且您有一些其他未处理的条件,则不会返回任何内容:

 def hoddashboard(request):
         if request.method=='POST':
            # do stuff
            if user is not None:
               # do stuff
               return redirect('/some/url')
            else:
               return redirect('/some/url2/')
         else:
            return redirect('/somewhere/else/')

您应该查看Burhan的响应,hoddashboard方法的框架更好

无论如何,如果您没有以正确的方式使用HttpResponseRedirect,那么应该将要重定向到用户的URL作为参数传递。例如,如果希望用户转到,则必须使用:

return HttpResponseRedirect('/dashboard/')
该响应将在代码中运行dashboard方法并返回其响应

您可以在此处查看文档: