1
0

models.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from django.db import models
  2. from django import forms
  3. from django.template.defaultfilters import slugify
  4. from trumbowyg.widgets import TrumbowygWidget
  5. class Cat_Blog(models.Model) :
  6. cb_titre = models.CharField("Titre", max_length = 128, unique = True)
  7. cb_titre_slgify = models.CharField("Titre Slugify", max_length = 128, blank = True, editable = False)
  8. class Meta :
  9. verbose_name = 'Catégories'
  10. verbose_name_plural = 'Catégories'
  11. def save(self, *args, **kwargs) :
  12. self.cb_titre_slgify = slugify(self.cb_titre)
  13. super(Cat_Blog, self).save(*args, **kwargs)
  14. def __unicode__(self):
  15. return self.cb_titre
  16. def __str__(self):
  17. return '%s' % (self.cb_titre)
  18. class Blog(models.Model) : #Architecture pour le blog
  19. b_titre = models.CharField("Titre", max_length = 128, unique = True)
  20. b_titre_slugify = models.CharField("Titre Slugify", max_length = 128, blank = True, editable = False)
  21. b_mots_clefs = models.CharField("Mots clefs", max_length = 512, blank = True)
  22. b_cat = models.ManyToManyField(Cat_Blog, blank = True)
  23. b_description = models.TextField("Description", blank = True)
  24. b_description_img = models.URLField("Url de la miniature", max_length = 128, blank = True)
  25. b_contenu = models.TextField("Contenu", blank = True)
  26. b_right = models.TextField("Contenu à droite", blank = True)
  27. b_publier = models.BooleanField("Publié", default = False)
  28. b_reading = models.IntegerField("Nb Lectures", default = 0)
  29. b_publdate = models.DateTimeField("Publié le", blank = True, null = True)
  30. class Meta :
  31. verbose_name = 'Gestion du Blog'
  32. verbose_name_plural = 'Gestion du Blog'
  33. ordering = ['-b_publdate']
  34. def save(self, *args, **kwargs) :
  35. self.b_titre_slugify = slugify(self.b_titre)
  36. super(Blog, self).save(*args, **kwargs)
  37. def __unicode__(self):
  38. return self.b_titre
  39. def __str__(self):
  40. return '%s' % (self.b_titre)
  41. class Blog_search_Form(forms.Form):
  42. b_search = forms.CharField(label='Vous recherchez un article ?', max_length=100)
  43. class Blog_Admin_Form(forms.ModelForm):
  44. class Meta:
  45. model = Blog
  46. exclude = ['b_titre_slugify','b_reading']
  47. widgets = {
  48. 'b_contenu': TrumbowygWidget(),
  49. 'b_right': TrumbowygWidget(),
  50. }