django视图不返回httpresponse对象,尽管我返回了一个
嘿,伙计们,我正在使用django开发一个项目管理网站,当我验证用户登录到仪表板时,我发现视图equipo.frontends.views.hoddashboard没有返回HttpResponse对象时出现此错误 my views.py如下所示: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
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方法并返回其响应
您可以在此处查看文档: