Я строю приложение с django-регистрацией и django-профилями. Всюду на странице у меня есть раздел, отображающий данные текущего пользователя (например, имя и фамилия, используя синтаксис вроде: {{ user.first_name }}
), и он отлично работает. Это делается с шаблонами подстраниц, распространяющими один основной шаблон с HTML-структурой и упомянутым разделом.Django {{profile}} глобально доступен в шаблонах
Теперь я пытаюсь добавить изображение пользователя (с помощью {{ profile.image }}
) к секции и есть проблема с наличием {{ profile }}
переменной шаблона везде, но на следующих страницах:
- http://127.0.0.1:8000/profiles/myusername/ (где MyUserName это имя пользователя парня с профилем),
- http://127.0.0.1:8000/profiles/edit/.
В settings.py у меня есть:
AUTH_PROFILE_MODULE = 'intranet.UserProfile'
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.static',
)
Добавление "django.contrib.auth.context_processors.auth",
в TEMPLATE_CONTEXT_PROCESSORS
ничего не меняет.
Мой класс UserProfile в models.py является:
class UserProfile(models.Model):
user = models.OneToOneField(User)
image = models.ImageField(upload_to=user_image_name,
blank=True, null=True, verbose_name='User photo')
urls.py:
(r'^profiles/edit/', 'profiles.views.edit_profile', {'form_class': ProfileForm, }),
(r'^profiles/', include('profiles.urls')),
поэтому остальные по умолчанию устанавливается в Джанго профилей urls.py файл.
Я хотел , чтобы иметь возможность использовать{{ profile }}
переменную шаблона везде (не только на страницах профилей) в шаблонах приложения, чтобы сделать возможным использовать его в основном шаблоне, который продлен другие.
Пожалуйста, дайте мне знать, как я могу это получить. Любая помощь будет очень оценена.
Я использую Django в версии 1.3.1, django-registration в версии 0.7 и django-профилях в версии 0.2.
Вы правы. Большое спасибо! – user1029968