在启动django框架运行之后,我进行对http://127.0.0.1:8000/web/web/employer/web_delivery_index/1地址的访问。
背景
(1)我在项目的app里的views.py文件中的相关简历信息的请求函数是这样写的:
def web_delivery_index(request, cid=0):
"""企业用户操作:点击简历审核,初步展示简历投递信息"""
try:
deliverylist = Delivery.objects.filter(company_id=cid)
context = {'deliverylist':deliverylist}
print('context:',context)
return render(request,'web/resume/index.html',context)
except Exception as err:
print(err)
(2)在urls.py中添加的路由为:
path('employer/web_delivery_index/<int:cid>', views.web_delivery_index, name="web_delivery_index"),
(3)对应的web/resume/index.html文件,这里省略。
出现错误
正常情况下,应该会在http://127.0.0.1:8000/web/web/employer/web_delivery_index/1页面中显示传送过来的简历数据信息。但是并没有返回,页面出现了一个错误:
Internal Server Error: /web/web/employer/web_delivery_index/1
Traceback (most recent call last):
File "D:\env\first\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "D:\env\first\lib\site-packages\django\core\handlers\base.py", line 124, in _get_response
raise ValueError(
ValueError: The view web.views.web_delivery_index didn't return an HttpResponse object. It returned None instead.
在PyCharm里也报错了:
解决思路和步骤
(1)其中,最主要的错误是最后一句,现在的问题是:
web_delivery_index未返回HttpResponse对象。结果却一无所获。
ValueError: The view web.views.web_delivery_index didn't return an HttpResponse object. It returned None instead.
(2)刚开始,我想会不会可能我的“web_delivery_index”函数有错误,首先看看是不是我的“web_delivery_index”这个views函数的问题,但是没有发现问题。
def web_delivery_index(request, cid=0):
"""企业用户操作:点击简历审核,初步展示简历投递信息"""
try:
deliverylist = Delivery.objects.filter(company_id=cid)
context = {'deliverylist':deliverylist}
print('context:',context)
return render(request,'web/resume/index.html',context)
except Exception as err:
print(err)
(3)再对urls.py中的对应的路由进行检查,没有发现问题。
path('employer/web_delivery_index/<int:cid>', views.web_delivery_index, name="web_delivery_index"),
(3)那么,是不是对应的web/resume/index.html文件的问题,因此,我猜想是因为这里红框框出的a标签的href属性值,我没有写正确,
那么现在,我尝试将a标签的href属性值全部先改为“#”,试试还会不会报错,
对应的web/resume/index.html文件的完整代码:
{% extends 'web/employer/base.html' %}
{% load static %}
{% block main_body %}
<div class="col-md-4"></div>
<div class="col-md-8" style="width:1200px">
<!--标签页内容-->
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tr>
<th>ID</th>
<th>投递岗位ID</th>
<th>求职用户ID</th>
<th>简历文件</th>
<th>状态</th>
<th>操作</th>
</tr>
{% for delivery in deliverylist %}
<tr>
<td>{
{ delivery.delivery_id }}</td>
<td>{
{ delivery.job_id }}</td>
<td>{
{ delivery.user_id }}</td>
<td>{
{ delivery.resume }}</td>
<td>
{% if delivery.status == 1 %}
<span style="color:green">正常</span>
{% elif delivery.status == 2 %}
<span style="color:red">禁用</span>
{% elif delivery.status == 9 %}
<span style="color:red">删除</span>
{% else %}
<span style="color:red">未知状态</span>
{% endif %}
</td>
<td>
<a type="button" href="#" class="btn btn-success btn-xs">
<span class="glyphicon glyphicon-edit" aria-hidden="true"></span> 查看</a>
<a type="button" href="#" class="btn btn-success btn-xs">
<span class="glyphicon glyphicon-edit" aria-hidden="true"></span> 通过</a>
{# <button type="button" onclick="doDelete('{% url 'web:web_job_delete' job.job_id %}')" class="btn btn-danger btn-xs">#}
{# <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> 删除</button>#}
<a type="button" href="#" class="btn btn-danger btn-xs">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> 未通过</a>
<a type="button" href="#" class="btn btn-success btn-xs">
<span class="glyphicon glyphicon-edit" aria-hidden="true"></span> 未审核</a>
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<script type="text/javascript">
function doDelete(url) {
Modal.confirm({
msg: "确定要删除吗?",
title: ' 信息提示',
btnok: '确定',
btncl:'取消'
}).on(function (e){
if(e){
window.location.href=url;
Modal.alert({msg: "成功删除",title: ' 信息提示',btnok: '确定',btncl:'取消'});
}
});
}
</script>
{% endblock %}
(4)改好之后,再次重启django项目之后,发现这个报错问题消失了,好了,问题成功解决。
而且PyCarm也没有报错了:
OK,问题解决。