Не удается перебрать набор запросов в шаблоне Django - PullRequest
0 голосов
/ 19 марта 2019

Мне нужно перебрать список флажков и добавить ссылку на каждый из них. Однако я не могу этого сделать. Шаблон показывает полную форму в виде ссылки на отдельный флажок в виде списка.

Ниже приведен мой код:

Вот мой forms.py :

class GetTaskDescription(forms.Form):

    get_tasks = forms.ModelMultipleChoiceField(
        queryset=Task.objects.none(),
        widget=forms.CheckboxSelectMultiple,
        required=True
    )

    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user')
        super(GetTaskDescription, self).__init__(*args, **kwargs)
        self.fields['get_tasks'].queryset = self.user.task_set.all()

    def get_task_description(self):
        tasks = self.cleaned_data['get_tasks']
        return tasks

Вот мой html :

{% extends 'todoapp/base.html' %}

{% block title %}Select a Task{% endblock %}

{% block content %}
    <h2>Select tasks to view description</h2>
    <form method="get" action="{% url 'view_task_description' %}" name="view_task_description">
        {% for tasks in view_tasks %}
            <a href="#">{{ tasks }}</a>
        {% endfor %}
        <br/>
        &nbsp;&nbsp;<input type="submit" value="View Description">
        &nbsp;&nbsp;<button onclick="location.href='{%url 'dashboard' %}?name=Go back'" type="button">Go back</button>
    </form>
{% endblock %}

Вот мой views.py :

@login_required(login_url='/login/')
def view_task_description(request):
    task_description = GetTaskDescription(data=request.GET, user=request.user)
    if task_description.is_valid():
        obj = GetTaskDescription.get_task_description(task_description)
        print obj
        return render(request, 'todoapp/task_desc.html', context={'description': obj})
    return render(request, 'todoapp/select_task_description.html', context={'view_tasks': GetTaskDescription(user=request.user)})

1 Ответ

0 голосов
/ 19 марта 2019

Вы пытаетесь перебрать экземпляр формы:

'view_tasks': GetTaskDescription(user=request.user)

{% for tasks in view_tasks %}

Для доступа к выбору полей вы должны использовать view_tasks.fields.get_tasks.choices в шаблоне.

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