Страница не перенаправляет при нажатии, но другие кнопки работают / перенаправляют правильно? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть страница, которая содержит форму. Он имеет 3 кнопки, Enter / Leave и Options. Моя кнопка ввода и вывода работает нормально, но кнопка options должна перенаправлять на список записей, и в настоящее время она ничего не делает, даже не выдает ошибок, которые я не могу понять, почемупроисходит.

Я чувствую, что упускаю что-то очень незначительное, я пытался переместить кнопку Параметры менеджера в теги формы, но это тоже не сработало, поэтому я не уверен, чтомне не хватает важной части, так как я довольно новичок в Python / Django.

views.py

class EnterExitArea(CreateView):
    model = EmployeeWorkAreaLog
    template_name = "operations/enter_exit_area.html"
    form_class = WarehouseForm

    def form_valid(self, form):
        emp_num = form.cleaned_data['adp_number']

        if 'enter_area' in self.request.POST:
            form.save()
            return HttpResponseRedirect(self.request.path_info)

        elif 'leave_area' in self.request.POST:
            form.save()
            EmployeeWorkAreaLog.objects.filter(adp_number=emp_num).update(time_out=datetime.now())
            return HttpResponseRedirect(self.request.path_info)

        elif 'manager_options' in self.request.POST:
            return redirect('enter_exit_area_manager_options_list')

class EnterExitAreaManagerOptionsList(ListView):
    filter_form_class = EnterExitAreaManagerOptionsFilterForm
    default_sort = "name"
    template = "operations/list.html"

    def get_initial_queryset(self):
        return EmployeeWorkAreaLog.active.all()

    def set_columns(self):
        self.add_column(name='Employee #', field='adp_number')
        self.add_column(name='Work Area', field='work_area')
        self.add_column(name='Station', field='station_number')

urls.py

urlpatterns = [
    url(r'enter-exit-area/$', EnterExitArea.as_view(), name='enter_exit_area'),
    url(r'enter-exit-area-manager-options-list/$', EnterExitAreaManagerOptionsList.as_view(), name='enter_exit_area_manager_options_list'),
]

enter_exit_area.html

{% extends "base.html" %}
{% block main %}
    <form id="warehouseForm" action="" method="POST" novalidate >
        {% csrf_token %}

        <div>
            <div>
                {{ form.adp_number.help_text }}
                {{ form.adp_number }}
            </div>
            <div>
                {{ form.work_area.help_text }}
                {{ form.work_area }}
            </div>
            <div>
                {{ form.station_number.help_text }}
                {{ form.station_number }}
            </div>
        </div>

        <div>
            <div>
                <button type="submit" name="enter_area" value="Enter">Enter Area</button>
                <button type="submit" name="leave_area" value="Leave">Leave Area</button>
            </div>
        </div>
    </form>
{% endblock main %}

{% block panel_footer %}
    <div class="text-center">
        <button type="submit" name="manager_options" value="Options">
            Manager Options
        </button>
    </div>
{% endblock panel_footer %}

list.html

{% extends "base.html" %}

{% load core_tags staticfiles %}

{% block head %}
    <script src="{% static "js/operations/enter_exit_area_manager_options_list.js" %}"></script>
{% endblock head %}

{% block main %}
    {% include 'core/list_view/list.html' %}

{% endblock main %}

1 Ответ

1 голос
/ 04 ноября 2019

Кнопки выбора - это действительно ссылка на другую страницу, поэтому вы должны добавить ее в свой шаблон следующим образом. Замените класс стилей кнопок на то, как вы хотите, чтобы ваша кнопка выглядела.

<a href="{% url 'enter_exit_area_manager_options_list' %}" class="button-styles">
Manager Options
</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...