#html #django #parameter-passing
Вопрос:
Я застрял со списком тегов привязки и получаю их содержимое в views.py.
Предыстория: У меня есть форма ввода адресов. Если введенный/отправленный адрес не является конкретным, как это необходимо, например, потому, что есть два города с одинаковым названием, то я хочу отобразить список потенциальных адресов.
Поэтому я подготовил список потенциальных целевых адресов также с тегом привязки.
html-страница:
<ul>
<form action="{% url 'analytics' %}" method="GET">
{% for item in list_addresses %}
<li><a href="{% url 'analytics' %}" name="pot_address" >{{ item.post_code }}</a></li>
{% endfor %}
</form>
</ul>
Мой urls.py:
urlpatterns = [
path('', views.home, name = 'home'),
path('/analytics', views.analytics, name = 'analytics'),
]
Теперь я хочу передать адрес (содержимое элемента списка в html) своему views.py файл. В views.py файл выглядит так:
def analytics(request):
if request.method == 'GET':
pot_adress = request.GET['pot_address']
После получения этого адреса в views.py Я хочу использовать его для извлечения определенных данных из базы данных.
Может ли кто-нибудь помочь мне с этим вопросом?
Ответ №1:
Вам нужно добавить строку запроса к вашим URL-адресам, поэтому:
<a href="{% url 'analytics' %}?pot_code={{ item.post_code|urlencode }}" name="pot_address" >{{ item.post_code }}</a>
В представлении вы можете затем отфильтровать с помощью:
def analytics(request):
if request.method == 'GET':
pot_adress = request.GET['pot_address']
SomeModel.objects.filter(post_code=pot_adress)
# …
Комментарии:
1. большое спасибо. Работает