2016-02-21 3 views
0

Я создал форму, которая позволяет вам создать новый сайт с Djangos, встроенным в модуль сайта. У меня есть URL-адрес, просмотр и шаблон для него. Все работает так, как ожидалось.Ограничить представление/url текущей сессии в Django

При успешном создании сайта пользователь перейдет по адресу /welcome/. Но потом я понял, что все, кто пытается перейти на этот URL, будут видеть приветственный контент. Включая Google. Это не то, чего я хочу.

Я хочу ограничить этот URL текущей сессии и предоставить страницу 404, когда другие пытаются перейти на этот URL-адрес и для зарегистрированных пользователей. Я посмотрел на декораторы Djangos, но не нашел их для моей конкретной необходимости.

Возможно ли это?

EDIT

Для уточнения:

Я хотел бы только показать /welcome/ после фактического создания сайта. Пользователь, у которого СОЗДАН этот сайт, ТОЛЬКО имеет разрешение на отображение этой страницы. Для других, которые пытаются отобразить страницу, она поднимет ошибку 404 (не найдена).

ответ

0

Я не совсем уверен, что вы хотите, но если вы хотите ограничить представление для определенного сайта, вы можете использовать get_current_site().

current_site = get_current_site(request) 
if not current_site.domain == 'foo.bar.com': 
    raise Http404 

Используйте request.user для доступа к текущему пользователю.

Вы можете осуществить эту проверку в своем собственном дизайнере или, возможно, в обычном промежуточном программном обеспечении Django.

+0

Я добавил больше информации в вопрос сейчас. Я не думаю, что объяснил это основательно. – lol5433

+0

Я все еще не понимаю, что вы имеете в виду, я боюсь –

+0

OK Thom Wiggers, теперь я снова редактировал. Надеюсь, я пойму. Благодаря! – lol5433

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