Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- view.py
- def hello(request):
- ImageFormSet = modelformset_factory(Image,
- form=ImageForm, extra=3)
- if request.method == 'POST':
- adsForm = AdvertisementForm(request.POST)
- photoSet = ImageFormSet(request.POST, request.FILES,
- queryset=Image.objects.none())
- if adsForm.is_valid() and photoSet.is_valid():
- ads_form = adsForm.save(commit=False)
- ads_form.user = request.user
- ads_form.save()
- for form in photoSet.cleaned_data:
- if form:
- image = form['image']
- photo = Image(ads=ads_form, image=image)
- photo.save()
- messages.success(request, "Урра, удачно")
- return HttpResponseRedirect("/")
- else:
- form = AdvertisementForm
- pf = ImageFormSet(queryset=Image.objects.none() or None)
- return render(request, 'adminpanel/main.html', context={'form': form, 'pf': pf})
- forms.py
- 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')
- class Meta:
- model = Image
- fields = ('image', )
- html
- <form action="" method="post">
- {% csrf_token %}
- {% for hidden in form.hidden_fields %}
- {{ hidden }}
- {% endfor %}
- {% for field in form %}
- {{ field }} <br/>
- {% endfor %}
- {{ pf.managment_form }}
- {% for form in pf %}
- {{ form }}
- {% endfor %}
- <input type="submit" name="submit" value="Submit">
- </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement