2012-10-03 12 views
6

Rozpocząłem nowy projekt django i włączono aplikację administratora. mogę się zalogować na stronie admina ale gdy próbuję dodać/witrynę lub użytkownikowi zmianę DostajęAdministrator Django podnosi weryfikację CSRF nie powiodło się

CSRF verification failed. Request aborted. 
Reason given for failure: 
CSRF token missing or incorrect. 

To co mam w settings.py:

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader', 
'django.template.loaders.app_directories.Loader', 
) 

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
# Uncomment the next line for simple clickjacking protection: 
# 'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 
INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
# Uncomment the next line to enable admin documentation: 
# 'django.contrib.admindocs', 
) 

Kiedy” m patrząc na administratora strony źródłowej widzę

<input type='hidden' name='csrfmiddlewaretoken' value='T9Mfk1LRXi5jPE2dh5jcvdKwzYM6Iy5I' /> 

tam

mam Django w wersji 1.4 .1

+0

Czy próbowałeś wyczyścić plik cookie? To może naprawić dla ciebie, jeśli wszystko inne zostało poprawnie skonfigurowane. –

Odpowiedz

6

Czy zastąpiłeś ustawienie CSRF_COOKIE_DOMAIN? Jeśli w formularzu znajduje się token CSRF, a użytkownik nie zmodyfikował źródła aplikacji administratora, najbardziej prawdopodobnym scenariuszem jest nieprawidłowe ustawienie pliku cookie.

Sprawdź nagłówki odpowiedzi strony logowania, aby upewnić się, że plik cookie jest ustawiony prawidłowo, i sprawdź nagłówki żądań logowania, aby upewnić się, że są one również wysyłane (i odpowiadają wartości w formularzu).

+1

oops ... Wygląda na to, że muszę wyczyścić pamięć podręczną i ponownie uruchomić komputer. Dzięki za pomoc – igoris

+0

podobny problem tutaj. Po prostu odświeżyłem stronę logowania zamiast zaczynać od nowa w/admin /. –

0

Lokalnie, mam jeden projekt, w którym CRSF działa poprawnie podczas przeglądania http://localhost:8040/my-admin/, ale kończy się niepowodzeniem na http://127.0.0.1:8040/my-admin/.

Nie jestem pewien, dlaczego, ale to może pomóc komuś zaoszczędzić trochę czasu.

Uwaga: Nie ustawiłem wartości CSRF_COOKIE_DOMAIN.

Powiązane problemy