2013-03-21 4 views
0

Так что я индексная страница, которая проверяет, является ли пользователь проходит проверку подлинности и перенаправляет их на workouts.html страницу, если они аутентификацией:Странное поведение с шаблонами После создания учетной записи пользователя

def index(request, auth_form=None, user_form=None): 
    if request.user.is_authenticated(): 
     user = request.user 
     context = {'user': user} 
     template = 'workouts.html' 
     return render(request, template, context) 
    else: 
     auth_form = auth_form or AuthenticateForm() 
     user_form = user_form or UserCreateForm() 
     template = 'index.html' 
     context = {'auth_form': auth_form, 'user_form': user_form} 
     return render(request, template, context) 

Там также логин/аутентификации но все это работает отлично. Где я бегу в проблемы в том, что я написал очень простую страницу шаблона для workouts.html для проверки подлинности пользователя редирект:

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body> 
     <div>These are your workouts, {{ user.username }}.</div> 
    </body> 
</html> 

Я войти в систему с тестовой учетной записи. Все работает нормально. Однако, теперь, когда я пытаюсь добавить дополнительный HTML, как форма выхода из системы:

<form action="/logout"> 
    <input type="submit" value="Log Out" /> 
</form> 

НИЧЕГО проявляется, кроме HTML я уже оказанной. Я попытался перезапустить сервер с тем же эффектом. Я также попытался добавить что-то намного проще, например

<div>wtf</div> 

Ничего не отображается, кроме исходного сообщения. И если я удалю все на странице, я до сих пор получаю сообщение "These are your workouts, test1". Даже если я зарегистрирую пользователя вручную, я получаю такое же начальное сообщение. Почему механизм шаблонов не регистрирует мои новые изменения, когда все другое поведение (проверка подлинности, первоначальный рендеринг, маршрутизация URL и т. Д.), Кажется, работает нормально?

+0

Какой шаблон вы вводите в код? 'workouts.html' или' index.html'? – dm03514

+0

'workouts.html', потому что индексный указатель должен перенаправлять пользователя там каждый раз, когда они посещают домашнюю страницу. – user1427661

+0

Вы используете кеш? – catherine

ответ

2

Принимая дикое предположение, вы должны закрыть это:

 <input type="submit" value="Log Out" 

Это будет выглядеть следующим образом:

<input type="submit" value="Log Out" /> 

Возможная причина: пока вход не близко, браузер интерпретирует все как часть «внутри тега ввода», который он никогда не делает, потому что он никогда не закрывается.

В любом случае: убедитесь, что ваш HTML-код действителен.

+0

Увы, я пробовал это безрезультатно. Даже добавление чрезвычайно простого html как ' hi' не регистрируется. Даже если я зарегистрирую пользователей вручную и попробую войти в систему с новым пользователем, я получаю начальную страницу. – user1427661

+0

Обновите свой вопрос – jpic

+0

Это на самом деле все уже там, за исключением пользователей журналов и обратно. Я добавлю это. – user1427661