Top.Mail.Ru
? ?
луцьк, логотип

Imageelutsk


elutsk, posts by tag: python - LiveJournal


Entries by tag: python

Теми для персональних сторінок
їжачок
Imagediadya_vova
Мені вже багато казали, що треба дати можливість користувачам мати власний дизайн на своїх сторінках.

Ще з запуску сервісу на сторінці редагування профілю була можливість завантажити власний файл стилів CSS. Це потужний інструмент для персоналізації своїх сторінок. Однак, з іншої сторони більшість користувачів навряд чи мають навики роботи з CSS. Це варіант коли передбачені гроші на дизайн. Ви запрошуєте спеціаліста і він робить дизайн для вашого персонального сайту.

В багатьох безкоштовних сервісах є можливість скористатися однією з готових тем оформлення сторінок. Тобто, вибирайте готовий дизайн і вмикайте його на ссвоєму сайті. А унікальність і неповторність вашому сайту забезпечить інформація на сторінках.

З сьогоднішнього дня на "Є Луцьк" користувач може вибрати один з готових дизайнів для своїх сторінок. На сторінці редагування профілю є секція "Виберіть шаблон дизайну". Наприклад, комп'ютерна фірма може скористатися дизайном "ІТ і технології" а фінансова установа - "Фінанси та гроші".

Наразі готово лише 5 варіантів дизайну. Однак ми працюємо над поповненням списку готових тем для ваших сторінок.

Трішки технології

Кожна тема оформлення - це папка в каталозі тем. Коли користувач відкриває сторінку редагування свого профілю, формується список встановлених тем. За це відповідає така от функція на Python:

def find_templates():
    path = settings.MEDIA_ROOT + 'templates/'
    items = []

    for f in os.listdir(path):
        if os.path.isdir(os.path.join(path, f)):
                title = f
                if os.path.isfile(os.path.join(path, f) + "/info.txt"):
                    f2 = open(os.path.join(path, f) + "/info.txt", 'r')
                    try:
                        title = f2.readline()
                    finally:
                        f2.close()
                items.append({"title": title, "css": "%stemplates/%s/style.css" % (settings.MEDIA_URL, f)})
    return items

В папці кожної  теми обов'язково присутні наступні 2 файли - "info.txt" та "styles.css". Перший - це файл з назвою теми та інформацією про розробника. Назва теми має йти 1им рядком! Другий файл - це файл стилів CSS.

Таким чином, користувач може завантажити свій файл стилів або сористатися готовим шаблоном оформлення.
 

Додано "Напрямки діяльності" для організацій та осіб
hi! :-)
Imagediadya_vova
Що нового?
В розділі "Користувачі та організації" додано фільтр по напрямку діяльності.

Відповідно в профілі приватної особи чи організації можна вказати, чим ви займаєтеся.
Напрямки діяльності виводяться списком чекбоксів. І можна вибрати декілька одразу,
просто проставивши галочки. Логічно, що фірма може займатися поліграфією та рекламою наприклад.

Сподіваємося, це допоможе і відвідувачам сайту легше знайти фірму або приватну особу.

Трошки технології.

Сервіс "Є Луцьк" створено на основі фреймворку Django та мови програмування Python.
В Джанго відносини "багато-до-багатьох" реалізовані за допомогою поля ManyToManyField() моделі.
Відповідно, щоб додати поле напрямки діяльності ми додали в нашу модель профіля користувача
поле:

kinds = models.ManyToManyField(CompanyKind, blank=True)

та створили ще одну модель, яка описує 1 напрямок діяльності:
 
class CompanyKind(models.Model):
    title = models.CharField(max_length="100")

Таким чином, користувач не обмежений у кількості напрямків діяльності, які він може вказати на своїй сторінці. Все дуже просто і пошук відбувається швидко. Для пошуку ми додали лише одну конструкцію:

if kind_id:
        kind = get_object_or_404(CompanyKind, title=kind_id)
        items = items.filter(kinds__in=[kind])

В процедуру виводу списку корисутвачів та організацій передається 1 необов'язковий параметр kind_id, який і відповідає за фільтр по напрямках діяльності.

Image