Python 在django中刷新页面时出错

Python 在django中刷新页面时出错,python,django,webpage,Python,Django,Webpage,我正在学习使用django创建一个网站。我有一个主页,用户可以通过它选择城市。下一页显示了酒店列表。它工作正常,但当页面刷新时,会显示错误 这是我的列表页面的html文件 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://aj

我正在学习使用django创建一个网站。我有一个主页,用户可以通过它选择城市。下一页显示了酒店列表。它工作正常,但当页面刷新时,会显示错误

这是我的列表页面的html文件

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
 <script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
 <script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-backstretch/2.0.4/jquery.backstretch.min.js"></script>
<script  type="text/javascript" src="../js/typeahead/0.11.1/typeahead.bundle.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>

{% load static %}
<script src="/static/typeahead.js "></script>



</head>
<body>

<div >
<div style="float:left; background-color:#d9d9d9;margin-top:100px;width:30%;height:800px;">
<h2 style="text-align:center;">Filters</h2>
<div  style="width:95%; margin-left: 10px; " >
    <form method="post" data-ajax="false" action="{% url 'list' %}">
     {% csrf_token %}

       <div data-role="rangeslider" data-mini="true" style="width:100%">
    <label for="range-1a">price:</label>
    <input name="range-1a" id="range-1a" min="0" max="100" value="0" type="range">
    <label for="range-1b">Rangeslider:</label>
    <input name="range-1b" id="range-1b" min="0" max="100" value="100" type="range">
  </div>
  <input type="submit"  value="Submit">
      </form>
  </div>
</div>
<div style=" float:right;margin-right:30px;margin-top:100px;width:60%;height:80%">



{% for hotel in city_list %}
{% load static %}

   <div class="col-md-4" style="width:45%;border:0;position:relative;">
    <div class="thumbnail" style="height:300px; background-color:black;border:0;border-radius:0;position:relative;box-shadow:0;" >
      <a href="/w3images/lights.jpg" data-ajax="false">
        <img src="{% static hotel.photo.url %}" style="border:0;height:85%;width:100%;"  >
        <div class="caption">
          <p style="color:white;">Name</p>
        </div>
      </a>
    </div>
  </div>






{% endfor %}

</div>  


</div>



</body>
</html>
刷新时出现以下错误
UnboundLocalError
at/polls/wholelist/ 分配前引用的局部变量
city\u列表


city\u list
正在从主页传递,但当重新加载页面时,它不会被传递。刷新页面时是否有方法传递它?

hotelvar
不等于“Hotels”时,未设置变量
city\u list

def wholelist(request):
    hotelvar=request.POST.get('service_type')
    city_list = None
    if hotelvar=='Hotels':
          city_list=Hotels.objects.filter(city_name__iexact=request.POST.get('searchabc'))
    if not city_list:
        hotel_list=Hotels.objects.all()
        context={'hotel_list':hotel_list}
        return render(request, 'polls/homepage.html',context)

    pricemin=200
    pricemax=800
    context={'pmin':pricemin,'pmax':pricemax,'city_list':city_list}
    return render(request, 'polls/list.html',context)

hotelvar
不等于“Hotels”时,不设置变量
city\u list

def wholelist(request):
    hotelvar=request.POST.get('service_type')
    city_list = None
    if hotelvar=='Hotels':
          city_list=Hotels.objects.filter(city_name__iexact=request.POST.get('searchabc'))
    if not city_list:
        hotel_list=Hotels.objects.all()
        context={'hotel_list':hotel_list}
        return render(request, 'polls/homepage.html',context)

    pricemin=200
    pricemax=800
    context={'pmin':pricemin,'pmax':pricemax,'city_list':city_list}
    return render(request, 'polls/list.html',context)

我删除了if条件。城市列表的值正在重置。因此,“如果不是城市列表”的条件正在变为现实。我发布的数据是lost@ShubhamYelekar如果在城市列表为none时需要保留搜索参数,那么不必通过呈现页面来刷新页面,只需为Ajax请求发送json响应即可。或者,您可以通过呈现方法将POST值作为上下文传递到主页,并在模板中使用它“或者您可以通过呈现方法将POST值作为上下文传递到主页,并在模板中使用它”您是否可以解释iti已删除if条件。城市列表的值正在重置。因此,“如果不是城市列表”的条件正在变为现实。我发布的数据是lost@ShubhamYelekar如果在城市列表为none时需要保留搜索参数,那么不必通过呈现页面来刷新页面,只需为Ajax请求发送json响应即可。或者,您可以通过呈现方法将POST值作为上下文传递到主页并在模板中使用它“或者您可以通过呈现方法将POST值作为上下文传递到主页并在模板中使用它”你能解释一下我应该使用会话变量来保留值吗?你不需要发布整个模板,包括CSS;将它缩减到演示您正在做的事情所需的最小值。我应该使用会话变量来保留值吗?您不需要发布整个模板,包括CSS;把它减少到演示你在做什么所必需的最低限度。