Я новичок в Django, в процессе знакомства с фреймворком возникло несколько вопросов.
Очень рассчитываю на помощь ветеранов джанги :)
Вкратце о проекте:
Python 2.7.5
Django 1.7
Mptt 0.6.1
Debug Toolbar 1.2.1
Структура (основная):
- project_dir
-- project_name (папка)
--- settings.py
--- urls.py
-- app (папка)
--- static (папка)
--- templates (папка)
--- views (папка)
---- ajax.py
---- index.py
---- и прочие вью файлы
--- admin.py
--- models.py
Вопросы:
- как организовать правильно view?
прочитал уже не один десяток статей, в том числе темы на этом форуме, мнение противоречивые и противоположные. я не смог работать с одним view.py, пришлось создать папку views и в ней отдельные файлы под разные контроллеры.
пример: у меня есть страницы /categories, /about, /settings, в них могут быть подкатегории. очень много завязано на аякс. всё это я выношу в разные файлы в /views
если писать всё в один view.py получается запутанно и некрасиво
- как организовать правильно urls?
например аякс - очень много разных функций, каждую приходится вписывать в urls, получается как-то так:
url(r'^ajax/update_profile/', 'app.views.ajax.update_profile'),
url(r'^ajax/get_category/(.*)', 'app.views.ajax.get_category'),
url(r'^ajax/upload/', 'app.views.ajax.upload'),
url(r'^ajax/get_user_status/', 'app.views.ajax.get_user_status'),
url(r'^ajax/get_user_profile/', 'app.views.ajax.get_user_profile'),
url(r'^ajax/remove_file/', 'app.views.ajax.remove_file'),
все названия функций совпадают с адресом вызова, можно ли завернуть это все в шаблон типа такого url(r'^ajax/(.*)', 'app.views.ajax.$1') ?
- есть полезные функции, которые бывают нужны в разных view/models/forms, где их лучше хранить?
пока для себя нашел выход сделать отдельный файл app/funcs.py и импортировать по мере надобности
Updated 19 Oct. 2014, 13:10 by Gibson.