Форум сайта python.su
Разворачиваю Django 1.1 на nginx'е последней версии. Делаю в первый раз, поэтому точно сверяюсь с маном, установка и настройка nginx - дело не хитрое, потом я запускаю fastcgi вот так:
python manage.py runfcgi method=threaded host=127.0.0.1 port=8881
Обращаюсь в браузере и вижу, что джанга наконец-то развернулась. Однако забавная проблема: у меня на все виды на сайте стоит @login_required, кроме одного (естественно), собственно вида enter. При обращении незалогиненным редиректит на этот enter. Но так происходит на простом runserver'е, а на развернутом nginx происходит следущее: он редиректит на /enter/?next=/, потом редиректит на /enter/?next=/enter/…. и так далее. То есть бесконечно сам на себя.
Не знаю в чем проблема. На runserver все работает, на fcgi вот такой глюк.
Офлайн
Немного дополнительной инфы:
Вот сам вид enter:
def enter(request):
auth_form = AuthenticationForm()
if request.method == 'POST':
auth_form = AuthenticationForm(request.POST)
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None and user.is_active:
auth.login(request, user)
return HttpResponseRedirect("/")
return render_to_response('users/enter.html', { "title": random.choice(phrases),
"form": auth_form, })
server {
listen 80;
server_name 192.168.0.103;
location / {
fastcgi_pass 127.0.0.1:8881;
include fastcgi_params;
}
location /media {
alias /home/server/devel/media;
}
Офлайн