我正在构建一个django应用程序来显示不同城市的房地产数据。城市信息保存在django模型中。我有一个视图显示一个特定城市的所有数据,我只需要一种方法来获取用户输入他想要看到的城市数据。
在导航栏中是城市的名称,如何将用户选择保存在会话信息中的导航中,并将其用作视图的输入?
以一种帖子的形式?
base.html
<div class="navigation">
<ul>
<li>
<a href="#">
<span class="title">City 1</span>
</option>
</a>
</li>
<li>
<a href="#">
<span class="title">City 2</span>
</a>
</li>
<li>
<a href="#">
<span class="title">City 3</span>
</a>
</li>
<li>
<a href="#">
<span class="title">City 4</span>
</a>
</li>
</ul>
</div>发布于 2022-10-01 10:04:32
单击其中一个选项时,可以对视图使用get请求。例如:
在base.html导航部分中,列表项将类似于
<li>
<a href="{% url 'get-city-data' city=city2 %}">
<span class="title">City 2</span>
</a>
</li>所以你的urls.py就像
urlpatterns = [
# your existing urls
path('get-city-data/<str:city>/', get_city_data, name='get-city-data'),
]而观点就像
def get_city_data(request, city=None):
# your logic here to return data filter by city
context = {} # populate with required context
return render(request, 'city.html', context)发布于 2022-10-01 09:53:44
您可以创建一个新视图,如/ city /str:cityname,获取有关城市的信息,并使用您现有的模板呈现有关城市的详细信息。
在您的base.html中,您可以将href放在这个城市/城市1中。它应该向这个视图/city/str:cityname.发出get请求
https://stackoverflow.com/questions/73917236
复制相似问题