2012-04-23 2 views
0

Я хочу создать проект, где каждый пользователь может иметь свою собственную «домашнюю страницу». Поэтому я хочу иметь возможность устанавливать шаблон для каждого пользователя и показывать его на своем домашнем URL-адресе. Я просто сохраняю имя шаблона в профиле пользователя и передаю его загрузчику шаблонов, или есть лучший/более безопасный/более плавный способ сделать это?Как определить шаблон по URL в Django?

+0

В чем разница между шаблонами? Это изменчиво? Кем? – okm

+0

Разница в основном просто оптики. Различные css, возможно, разные размеры изображений и другая навигация и так далее. Я хочу, чтобы пользователь мог выбирать между шаблонами с выпадающим меню. Но мне очень важно иметь возможность легко расширять количество шаблонов. – JasonTS

+0

Не могли бы вы изменить название на «Как использовать другой шаблон в зависимости от пользователя» или так? Это немного яснее. –

ответ

1

Похоже, вы хотите, чтобы пользователь мог подбирать свой любимый шаблон и устанавливать пучки предпочтений, такие как фоновое изображение, стиль отображения и так далее? Если это так, ваше решение в порядке. Фактически, вы разрешаете пользователям выбирать среди предоставленного (и расширяемого) набора шаблонов, а не позволять им полностью контролировать шаблон для использования.
Кроме того, для настроек предпочтений, которые используются только для каждого пользователя. Возможно, вы захотите сохранить их в сериализованном поле, таком как jsonfield или picklefield, вместо того, чтобы хранить их в столбце. Я пишу приложение, чтобы облегчить редактирование таких полей.

1

Сохранение имени шаблона в профиле пользователя в порядке. Как вы говорите, вы можете просто передать его методу визуализации шаблона.

Но следите за тем, чтобы пользователь не мог набирать имя шаблона вручную. Думаю, это должно быть поле выбора по соображениям безопасности. См. В конце https://docs.djangoproject.com/en/1.4/ref/models/fields/#choices, вы можете сделать список вариантов шаблонов динамическим.

Смежные вопросы