Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # models.py
- class Book(models.Model):
- name = models.CharField(max_length=200)
- coverpic = models.ImageField(upload_to='images/', default='images/default_book_pic.png')
- coverpic_small = ImageSpecField(source='coverpic', processors=[ResizeToFill(100, 100)], format='JPEG', options={'quality': 60}) #это говно от django-imagekit
- pub_date = models.DateField()
- approve_date = models.DateTimeField(auto_now_add=True) # date of applying book on this site
- genre = models.ForeignKey(Genre, on_delete=models.PROTECT)
- author = models.ForeignKey(Author, on_delete=models.PROTECT)
- def __str__(self):
- return self.name
- # forms.py
- class BookForm(ModelForm):
- class Meta:
- model = Book
- fields = ['name', 'pub_date', 'genre', 'author', 'coverpic']
- # views.py
- def edit_book(request, book_id):
- params = {}
- params.update(csrf(request))
- params['book'] = Book.objects.get(id=book_id)
- params['form'] = BookForm(instance=params['book'])
- params['action'] = "/store/book/" + book_id + "/edit_book/"
- params['button_value'] = "Update Book"
- if request.POST:
- editbook_form = BookForm(request.POST, instance=params['book'])
- if editbook_form.is_valid():
- editbook_form.save()
- return redirect("/store/book/" + book_id + "")
- else:
- params['form'] = editbook_form
- else:
- return render(request,
- template_name='store/add_edit_form.html',
- context=params)
- # add_edit_form.html
- {% extends 'base.html' %}
- {% block add_content %}
- <div class="large-offset-3 large-6 columns">
- <form action={{ action }} method="POST" enctype='multipart/form-data'>
- {% csrf_token %}
- {{ form }}
- <input class="button" type="submit" value="{{ button_value }}">
- </form>
- </div>
- {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement