Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #views.py
- @method_decorator([login_required(login_url="/login/"), ], name='dispatch')
- class CreatePublicationView(CreateView):
- form_class = PublicationForm
- model = Publication
- template_name = "main/create-publication.html"
- def form_valid(self, form):
- instance = form.save(commit=False)
- instance.author = self.request.user
- instance.save()
- return redirect("index")
- def form_invalid(self, form):
- messages.error(self.request, "Необходимо заполнить все поля!")
- return self.render_to_response(
- self.get_context_data(request=self.request, form=form))
- #forms.py
- class PublicationForm(forms.ModelForm):
- class Meta:
- model = Publication
- fields = (
- 'title', 'title_en', 'title_ky', 'journal', 'annotation', 'annotation_en', 'annotation_ky', 'keywords',
- 'keywords_en', 'keywords_ky', 'file')
- class Publication(models.Model):
- title = models.CharField(max_length=255, verbose_name=_("Заголовок"))
- annotation = RichTextField(config_name='awesome_ckeditor', verbose_name=_("Аннотация"))
- create_date = models.DateField(auto_now=True, verbose_name=_("Дата создания"))
- journal = models.ForeignKey(Journal, on_delete=models.SET_NULL, null=True, verbose_name=_('Журнал'))
- class Journal(models.Model):
- NUMBER = (
- ('FR', '№1'),
- ('SC', '№2'),
- )
- title = models.CharField(max_length=200, verbose_name=_('Наименование'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement