Форум сайта python.su
Добрый вечер !
Под скажите как сделать меню поделитесь опытом кто как делает меню и категорией.
Покажите пример кода вывода меню видео музыка кино к примеру.
Вот я сделал такую модель подскажите как теперь можно сделать меню и вывести изображение.
# -*- coding: utf-8 -*- from django.db import models import random from django.conf import settings # импортируем все настройки from mptt.models import MPTTModel, TreeForeignKey # Котигория строится деревом from tinymce import models as tinymce_model def make_upload_path(instance, filename, prefix = False): # Переопредиление имени загруски файла n1 = random.randint(0,10000) n2 = random.randint(0,10000) n3 = random.randint(0,10000) filename = str(n1)+"_"+str(n2)+"_"+str(n3) + '-jpg' return u"%s/%s" % (settings.IMAGE_UPLOAD_DIR, filename) # Модель катигорие class Cotalog(MPTTModel): name = models.CharField(max_length=150, default='', blank=True, verbose_name='Катигория') parent = TreeForeignKey('self', null=True, blank=True, related_name='children') cotalog_title = models.CharField(max_length=200, default='', verbose_name='Загаловок', blank=True) meta_desc = models.CharField(max_length=200, default='', verbose_name='Мета описание', blank=True) meta_key = models.CharField(max_length=200, default='', verbose_name='Ключивые слова', blank=True) slug = models.CharField(max_length=200, default='', blank=True, verbose_name='Урл') image = models.ImageField(upload_to=make_upload_path, null=True, blank=True) chek_box = models.BooleanField(verbose_name=u'Опупликован') ordering = models.IntegerField(verbose_name=u"Порядок сортировки", default=0, blank=True, null=True) def __unicode__(self): return self.name def pic(self): #Метод который вернет изображение if self.image: return u'<img strc ="%s" width="70" />' % self.image.url else: return '(none)' pic.short_description = u"Изображение" pic.allow_tags = True class Meta(): # verbose_name_plural ="Категории" verbose_name = "Категория" class MPTTMeta: order_insertion_by = ['name'] # Модель Продукта class Produkt(models.Model): name = models.CharField(max_length=150, default='', blank=True, verbose_name='Название') category = models.ManyToManyField(Cotalog, related_name='cat') cotalog_title = models.CharField(max_length=200, default='', verbose_name='Загаловок', blank=True) meta_desc = models.CharField(max_length=200, default='', verbose_name='Мета описание', blank=True) meta_key = models.CharField(max_length=200, default='', verbose_name='Ключивые слова', blank=True) slug = models.CharField(max_length=200, default='', blank=True, verbose_name='Урл') image = models.ImageField(upload_to=make_upload_path, null=True, blank=True, verbose_name='Изображение') short_text = tinymce_model.HTMLField(blank=True, verbose_name='Краткое описание') full_text = tinymce_model.HTMLField(blank=True, verbose_name='Полное описание') price = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='Цена', null=True ) chek_box = models.BooleanField(verbose_name=u'Опупликован') ordering = models.IntegerField(verbose_name=u"Порядок сортировки", default=0, blank=True, null=True) def __unicode__(self): return self.name def pic(self): #Метод который вернет изображение if self.image: return u'<img strc ="%s" width="70" />' % self.image.url else: return '(none)' pic.short_description = u"Изображение" pic.allow_tags = True class Meta(): # verbose_name_plural ="Товары" verbose_name = "Товар" # Вывод всех Изображений class Produkt_images(models.Model): produkt = models.ForeignKey(Produkt, null=True, blank=True) image = models.ImageField(upload_to=make_upload_path, null=True, blank=True, verbose_name='Изображение') def __unicode__(self): return self.image def pic(self): #Метод который вернет изображение if self.image: return u'<img strc ="%s" width="70" />' % self.image.url else: return '(none)' pic.short_description = u"Изображение" pic.allow_tags = True class Meta(): # verbose_name_plural ="Изображения" verbose_name = "Изображене"
Офлайн