Django: выбрать шаблон из данных в настройках - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь понять процесс, посредством которого шаблон Django может быть выбран на основе данных в файле настроек. Так, например, если у меня есть:

SOCIAL_AUTH_FACEBOOK_KEY = "my_fb_key"

Я бы хотел, чтобы выбор шаблона в urls.py сделал это:

url('login/', auth_views.LoginView.as_view(template_name='choose_signup.html'), name='login')

Но если значение ключа FB пустое / пустое, я бы хотел, чтобы это было сделано:

url('login/', auth_views.LoginView.as_view(template_name='really_login.html'), name='login')

Я попытался установить переменную в urls.py следующим образом:

if SOCIAL_AUTH_FACEBOOK_KEY == "" :
    mytemplatename = "really_login.html"
else:
    mytemplatename = "choose_signup.html"

…

url('login/', auth_views.LoginView.as_view(template_name=mytemplatename), name='login')

Но это приводит к ошибке в терминале (manage.py runserver)

NameError: name 'SOCIAL_AUTH_FACEBOOK_KEY' is not defined

Я просто пытаюсь сделать это неправильно?

1 Ответ

2 голосов
/ 12 февраля 2020

Да, SOCIAL_AUTH_FACEBOOK_KEY не определено. Вам необходимо импортировать настройки:


from django.conf import settings

...


if settings.SOCIAL_AUTH_FACEBOOK_KEY == "" :
    ...

Из документов: https://docs.djangoproject.com/en/3.0/topics/settings/#using -settings-in- python -код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...