Advertisement
Guest User

Untitled

a guest
Jul 11th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.64 KB | None | 0 0
  1. view.py
  2.  
  3. def hello(request):
  4.     ImageFormSet = modelformset_factory(Image,
  5.                                         form=ImageForm, extra=3)
  6.     if request.method == 'POST':
  7.         adsForm = AdvertisementForm(request.POST)
  8.         photoSet = ImageFormSet(request.POST, request.FILES,
  9.                                 queryset=Image.objects.none())
  10.  
  11.         if adsForm.is_valid() and photoSet.is_valid():
  12.             ads_form = adsForm.save(commit=False)
  13.             ads_form.user = request.user
  14.             ads_form.save()
  15.  
  16.             for form in photoSet.cleaned_data:
  17.                 if form:
  18.                     image = form['image']
  19.                     photo = Image(ads=ads_form, image=image)
  20.                     photo.save()
  21.             messages.success(request, "Урра, удачно")
  22.             return HttpResponseRedirect("/")
  23.     else:
  24.         form = AdvertisementForm
  25.         pf = ImageFormSet(queryset=Image.objects.none() or None)
  26.     return render(request, 'adminpanel/main.html', context={'form': form, 'pf': pf})
  27.  
  28. forms.py
  29. class AdvertisementForm(forms.ModelForm):
  30.     sor = (
  31.         ('Sale', 'Продажа'),
  32.         ('Rent', 'Оренда')
  33.     )
  34.     sale_or_rent = forms.ChoiceField(choices=sor)
  35.     location = forms.CharField(max_length=200)
  36.     district = forms.CharField(max_length=7)
  37.     room_number = forms.IntegerField()
  38.     price = forms.IntegerField()
  39.     all_space = forms.CharField(max_length=50)
  40.     living_space = forms.CharField(max_length=50)
  41.     kitchen_space = forms.CharField(max_length=50)
  42.     kitchen_space = forms.CharField(max_length=50)
  43.     house_type = forms.CharField(max_length=20)
  44.     floor = forms.CharField(max_length=15)
  45.     description = forms.CharField(max_length=5000)
  46.     name = forms.CharField(max_length=50)
  47.     phone_number = forms.CharField(max_length=15)
  48.  
  49.     class Meta:
  50.         model = Advertisement
  51.         fields = ('id', 'description', 'location', 'district', 'room_number', 'price', 'all_space', 'living_space', 'kitchen_space', 'house_type', 'floor', 'description', 'name', 'phone_number')
  52.  
  53.  
  54. class ImageForm(forms.ModelForm):
  55.     image = forms.ImageField(label='Image')
  56.  
  57.     class Meta:
  58.         model = Image
  59.         fields = ('image', )
  60. html
  61. <form action="" method="post">
  62.         {% csrf_token %}
  63.         {% for hidden in form.hidden_fields %}
  64.             {{ hidden }}
  65.         {% endfor %}
  66.  
  67.         {% for field in form %}
  68.             {{ field }} <br/>
  69.         {% endfor %}
  70.  
  71.         {{ pf.managment_form  }}
  72.         {% for form in pf %}
  73.             {{ form }}
  74.         {% endfor %}
  75.         <input type="submit" name="submit" value="Submit">
  76.     </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement