Джанго; передача значения из выпадающего списка на главную страницу - PullRequest
0 голосов
/ 24 февраля 2020

Я все еще новичок в django, и у меня есть форма с выпадающим меню; Я могу сделать выбор, но как только я сделаю этот выбор, мне нужна помощь, чтобы передать его на главную страницу. Я думаю Мне нужно добавить детали к видам, но я не уверен, есть ли они там или нужно добавить детали к основным *. html страницам

видов. py

def search_device(request):
    locations = Locations.objects.all()
    context = {"locations": locations}

    for location in context['locations']:
        print(location)

    if request.method == "POST":
        location_name = request.POST.get("locations")   

    return render(request, 'example/search_device.html', context, )

urls.py

urlpatterns = [
path('admin/', admin.site.urls),
path('', example_views.home, name="home"),
path(r'^location/$', example_views.home, name="location_name"),
path('add_location', example_views.add_location, name='add_location'),
path('add_device', example_views.add_device, name='add_device'),
path('search_device', example_views.search_device, name='search_device')]

список_устройств. html

<html>
<head>
    <title>Device List</title>
</head>
<form method="post">
<body>
    <a href="add_device">Add Device</a>   <a href="add_location">Add Location</a>   <a 
     href="search_device">Search Devices</a>
<p>
<h3>Devices Go Here:</h3>
{% csrf_token %}

{% for device in devices %}
        {{device.device_name}} <br>
{% endfor %}        

<br>
<br>

<h3>Associated Locations</h3>
{% if location.location_name %}
<p> Great, you selected: {{location.location_name}}
</p>
{% endif %}

</body>
</html>

и search_devices. html

<html>
<head>
    <title>Device List</title>
</head>
<form method="post">
<body>
<a href="add_device">Add Device</a>   <a href="add_location">Add Location</a>   <a href="search_device">Search Devices</a>
<p>
<h3>Devices Go Here:</h3>
{% csrf_token %}

{% for device in devices %}
        {{device.device_name}} <br>
{% endfor %}        

<br>
<br>

<h3>Associated Locations</h3>
{% if location.location_name %}
<p> Great, you selected: {{location.location_name}}
</p>
{% endif %}

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

views.py требовался этот дополнительный код:

 def device_list(request):
    location_name = request.POST.get('location_name')
    my_devices = Devices.objects.filter(location= Locations.objects.get(location_name = location_name))</p>

context = {"devices": my_devices,
           "locations": location_name}


return render(request, 'example/device_list.html',context) 

запрос, показанный на my_devices выше, был тем, что необходимо было передать в шаблон

0 голосов
/ 24 февраля 2020

Я могу отослать это к вашей проблеме, вам может потребоваться обновить файл html, который выбирается с помощью тегов имени и параметра.

https://www.youtube.com/watch?v=2gmS4LAHTOM

Надеюсь, это поможет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...