Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- view.py
- ImageFormSet = modelformset_factory(Image,
- form=ImageForm, extra=15, max_num=5)
- adsForm = AdvertisementForm(request.POST or None)
- photoSet = ImageFormSet(request.POST or None, request.FILES or None,
- queryset=Image.objects.none())
- if adsForm.is_valid() and photoSet.is_valid():
- ads_form = adsForm.save(commit=False)
- ads_form.save()
- for form in photoSet.cleaned_data:
- if form:
- image = form['image']
- img_obj = Image(image=image)
- img_obj.save()
- ads_form.hard_image.add(img_obj)
- ads_form.save()
- messages.success(request, "Урра, удачно")
- return HttpResponseRedirect("/")
- return render(request, 'adminpanel/main.html', context={'form': adsForm, 'photo': photoSet})
- forms.py
- from django import forms
- from main.models import Advertisement, Image
- class AdvertisementForm(forms.ModelForm):
- sor = (
- ('Sale', 'Продажа'),
- ('Rent', 'Оренда')
- )
- sale_or_rent = forms.ChoiceField(choices=sor)
- location = forms.CharField(max_length=200)
- district = forms.CharField(max_length=7)
- room_number = forms.IntegerField()
- price = forms.IntegerField()
- all_space = forms.CharField(max_length=50)
- living_space = forms.CharField(max_length=50)
- kitchen_space = forms.CharField(max_length=50)
- kitchen_space = forms.CharField(max_length=50)
- house_type = forms.CharField(max_length=20)
- floor = forms.CharField(max_length=15)
- description = forms.CharField(max_length=5000)
- name = forms.CharField(max_length=50)
- phone_number = forms.CharField(max_length=15)
- class Meta:
- model = Advertisement
- fields = ('id', 'description', 'location', 'district', 'room_number', 'price', 'all_space', 'living_space', 'kitchen_space', 'house_type', 'floor', 'description', 'name', 'phone_number', )
- class ImageForm(forms.ModelForm):
- image = forms.ImageField(label='Image', widget=forms.FileInput, required=False)
- class Meta:
- model = Image
- fields = ('image', )
- main.html
- <form id="post_form" action="" method="post" enctype="multipart/form-data">
- {% csrf_token %}
- {% for hidden in form.hidden_fields %}
- {{ hidden }}
- {% endfor %}
- {% for field in form %}
- {{ field }} <br/>
- {% endfor %}
- {{ photo.management_form }}
- {% for form in photo %}
- {{ form }}
- {% endfor %}
- <input type="submit" name="submit" value="Submit">
- </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement