передавать данные из одного представления в другое django - PullRequest
3 голосов
/ 14 октября 2019

У меня есть два представления в моем приложении

Views.py

def selectwarehouse(request):
    z = Warehouse.objects.all()
    return render(request, 'packsapp/employee/selectwarehouse.html', {'z': z})

def warehouse_details(request):
    queryset = AllotmentDocket.objects.filter(send_from_warehouse = #dynamic(from the selectwarehouse.html))

    return render(request, 'packsapp/employee/allotwarehousedetails.html', {'query': queryset})

selectwarehouse.html

{% block content %}

<label>Select Warehouse<label>
    <select id="the-id">
        {% for i in z %}
        <option value="{{ i }}">{{ i }}</option>
        {% endfor %}
        <form method="post" novalidate>
            {% csrf_token %}
            <a href="{% url 'employee:warehouse_details' %}" class="btn btn-outline-secondary" role="button">Proceed</a>
            <a href="{% url 'employee:products_table' %}" class="btn btn-outline-secondary" role="button">Nevermind</a>
        </form>
    </select>
    {% endblock %}

URLS.py

    path('select-warehouse/', selectwarehouse, name='select_warehouse'),
    path('warehouse-details/', warehouse_details, name='warehouse_details'),

Я хочу, чтобы, когда человек выбирает "Склад" из раскрывающегося списка и нажимает Продолжить , он должен передать это значение в def warehouse_details и передать значение в набор запросов Allotment. Как я могу это сделать?

1 Ответ

0 голосов
/ 14 октября 2019

MAKE Перейти к скрытому вводу

Шаблон

 {% block content %}

<label>Select Warehouse<label>
    <select id="the-id">
        {% for i in z %}
        <option value="{{ i }}">{{ i }}</option>
        <form method="post" novalidate>
            {% csrf_token %}
             <input type="hidden" name="object_id" value="{{ i.id }}">
  <input class="btn btn-outline-secondary" name="Proceed" type="submit" 
     value="Proceed"> 
            <a href="{% url 'employee:products_table' %}" class="btn btn-outline- 
        secondary" role="button">Nevermind</a>
        </form>
    {% endfor %}
    </select>
    {% endblock %}

views.py

def selectwarehouse(request):
    z = Warehouse.objects.all()
    return render(request, 'packsapp/employee/selectwarehouse.html', {'z': z})

def warehouse_details(request):
    queryset = AllotmentDocket.objects.get(id=request.POST.get('object_id'))
    //Now to access the element in queryset write (queryset.'attribute name')
    return render(request, 'packsapp/employee/allotwarehousedetails.html', {'query': 
    queryset}

Проверьте, работает ли это

Попробуйте напечататьзапросите набор и посмотрите, что выводится.

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