Как я могу сохранить изменения в виде списка с методом post в Django - PullRequest
0 голосов
/ 01 февраля 2020

Я попытался внести некоторые изменения непосредственно в listview , после отправки нажмите, чтобы сохранить все изменения. просмотр списка работает, но сохранение не работает.

В качестве ответа я получаю это:

Представление setting.viewscalen.CalDavCalenLst не вернуло HttpResponse объект. Вместо этого он вернул None.

Это мой список

class CalDavCalenLst(GroupRequiredMixin,generic.ListView):

model = CalDavCalendars
template_name = 'setting/calenlst.html'
context_object_name = 'calenitemlst'

def get_queryset(self):
    return CalDavCalendars.objects.all().order_by('id')


def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['form'] = calendarlist()        
    # Add Headerdata
    context.update(datprepare().header())
    return context


def post(self, request, *args, **kwargs):

    self.object_list = self.get_queryset()
    form  = calendarlist(request.POST or None)
    if form.is_valid():
        post = form.save(commit=False)
        post.save()

Это моя форма

class calendarlist(forms.ModelForm):        
    class Meta:
        model = CalDavCalendars
        fields = ['CalenCaldavDbID', 'CalenName', 'CalenState','CalenVisible']

, а это моя html .

<h2 class="sub-header text-center">Calendars</h2>
<br>
<table class="table table-striped ">
  <form method="post">
  {% csrf_token %}
    <thead class="thead-light">
      <tr>
        <th>ID</th>
        <th>CalDav ID</th>
        <th>Kalender</th>
        <th>Aktiv</th>
        <th>Sichtbar</th>
        <th> <button type="submit" class="btn btn-primary">Speichern</button> </th>
      </tr>
    </thead>
    <tbody>
      {% for Calender in calenitemlst %}
        <tr>
          <td><a href='/setting/caldav/{{ Calender.id }}'>  {{ Calender.id }}</a></td>
          <td>{{ Calender.CalenCaldavDbID}}</td>      
          <td>{{ Calender.CalenName}}</td>
          <td>
            {% if Calender.CalenState == 1 %}
              <input type="checkbox" name="NCBstate_{{ Calender.id }}" id="IDCBstate_{{ Calender.id }}" aria-label="Checkbox for Calendar state" checked >
            {% else %}
              <input type="checkbox" name="NCBstate_{{ Calender.id }}" id="IDCBstate_{{ Calender.id }}" aria-label="Checkbox for Calendar state" >
            {% endif %}
          </td> 
          <td>
            {% if Calender.CalenVisible == 1 %}
              <input type="checkbox" name="NCB_visi_{{ Calender.id }}" id="IDCBvisi_{{ Calender.id }}" aria-label="Checkbox for Calendar is visible" checked >
            {% else %}
              <input type="checkbox" name="NCB_visi_{{ Calender.id }}" id="IDCBvisi_{{ Calender.id }}" aria-label="Checkbox for Calendar is visible" >
            {% endif %}
          </td>  
          <td>
            <!-- Lupe zum editieren-->
            <!-- a href='/setting/caldav/{{ Calender.id }}'>    
              <img src="{% static 'pic/search.png' %}" width="18" height="18"/>
            </a-->  
            <!-- Papierkorb zum loeschen-->
            <a href="/setting/caldavdel/{{ Calender.id }}" class="btn deleteJob">
              <img src="{% static 'pic/reset.svg' %}" width="21" height="21"/>
              <i class="icon-trash"></i>
            </a>    
          </td>
        </tr>
      {% endfor %}
    </tbody>
  </form>  
</table>

Любая помощь по этому вопросу приветствуется.

...