django之ValueError: The view web.views.web_delivery_index didn‘t return an HttpResponse object. It re

在启动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,问题解决。

猜你喜欢

转载自blog.csdn.net/qq_45956730/article/details/124786413
今日推荐