2017-02-11 4 views
2

У меня есть форма EventForm, которую я хочу заполнить. Я использую event_form.attributes, поэтому я могу настроить CSS. Но ничего не происходит, когда я нажимаю submit - URL-адрес действия не вызван или что-то еще.Django form submit не работает

EventForm:

class EventForm(forms.ModelForm): 
    name = forms.CharField(max_length=128, help_text="Enter event name") 
    description = forms.CharField(max_length=1024, help_text="Enter event description") 
    date_str = forms.CharField(max_length=128,label="Date", help_text="Enter date in the format: DD/MM/YY") 
    address = forms.CharField(max_length=128, help_text="Enter event address") 
    image = forms.ImageField(label="Event Image") 
    volunteerLimit = forms.IntegerField(initial=10, label="Volunteer Limit") 
    category = forms.ChoiceField(choices=CATEGORY_SELECT, required=True) 
    mininumAge = forms.IntegerField(initial=18, label="Minimum Age") 
    closed = forms.BooleanField(widget=forms.HiddenInput(),initial=False) 

    class Meta: 
     model = Event 
     exclude = ('date', 'slug', 'volunteers', "organisation") 

base.html

 {% csrf_token %} 
      <form id="event_form" method="post" action="/iVolunteer/add_event/"> 
      {% for hidden in event_form.hidden_fields %} 
       {{ hidden }} 
      {% endfor %} 
       <div class="form-group"> 
        {{ event_form.name.errors }} 
        {{ event_form.name.label_tag }} 
        {{ event_form.name|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.description.errors }} 
        {{ event_form.description.label_tag }} 
        {{ event_form.description|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.date_str.errors }} 
        {{ event_form.date_str.label_tag }} 
        {{ event_form.date_str|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.address.errors }} 
        {{ event_form.address.label_tag }} 
        {{ event_form.address|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.category.errors }} 
        {{ event_form.category.label_tag }} 
        {{ event_form.category|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.mininumAge.errors }} 
        {{ event_form.mininumAge.label_tag }} 
        {{ event_form.mininumAge|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.volunteerLimit.errors }} 
        {{ event_form.volunteerLimit.label_tag }} 
        {{ event_form.volunteerLimit|addclass:"form-control form-style"}} 
       </div> 
       <div class="form-group"> 
        {{ event_form.image.errors }} 
        {{ event_form.image.label_tag }} 
        {{ event_form.image|addclass:"form-control form-style"}} 
       </div> 


      <div class="modal-footer"> 
       <input type="submit" class="btn btn-default btn-standard" name="submit" value="Create Event" data-dismiss="modal"> 
      </div> 

      </form> 

Любой комментарий или предложение с благодарностью. Спасибо.

+0

Вам будет проще использовать атрибут ['attrs'] (https://docs.djangoproject.com/en/1.10/ref/forms/widgets/#django.forms.Widget.attrs) виджета конструктор, который делает это в шаблоне. – schwobaseggl

ответ

0

Если вы не на /iVolunteer/add_event/, попробуйте положить action="". Поместите {% csrf_token %} внутри формы.

Смежные вопросы