Advertisement
Guest User

Untitled

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