繁体   English   中英

在django中刷新页面时出错

[英]error when page is refreshed in django

我正在学习使用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>

这是我的views.py

def homepage(request):
    hotel_list=Hotels.objects.all()
    context={'hotel_list':hotel_list}
    return render(request, 'polls/homepage.html',context)

def wholelist(request):
    hotelvar=request.POST.get('service_type')
    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)

在分配前在/ polls / wholelist /本地变量city_list刷新UnboundLocalErrorUnboundLocalError以下错误

从首页传递了city_list ,但重新加载页面时未传递。 页面刷新时有没有办法传递它?

hotelvar不等于“ Hotels”时,未设置变量city_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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM