簡體   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