/ / Django дубликат администраторски префикс в url - python, django, nginx, django-admin

Django дублира администраторски префикс в url - python, django, nginx, django-admin

Аз изпълнявам Джанго в режим Fastcgi

./manage.py runfcgi method=threaded host=127.0.0.1 port=8080

с Nginx

server {
listen 80;
server_name myhostname.com;
access_log /var/log/nginx/sample_project.access.log;
error_log /var/log/nginx/sample_project.error.log;

location /static/ { # STATIC_URL
alias /home/www/myhostname.com/static/; # STATIC_ROOT
expires 30d;
}

location /media/ { # MEDIA_URL
alias /home/www/myhostname/static/; # MEDIA_ROOT
expires 30d;
}

location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:8080;
}
}

Адресът за администриране е

http://myhostname.com/admin/

Забелязвам, че всяка генерирана HTML връзка е грешна като тази по-долу

 ...
<a href="/admin/admin/logout/">Log out</a>
...

Под моя url.py


from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns("",
# Examples:
# url(r"^$", "configuratore.views.home", name="home"),
# url(r"^blog/", include("blog.urls")),

url(r"^admin/", include(admin.site.urls)),
)

Изглежда, че Джанго дублира администраторския URL адрес, но не разбирам защо.

Отговори:

2 за отговор № 1

Уверете се, че сте добавили fastcgi_param SCRIPT_NAME ""; Към твоя location / блок в nginx конфигурация. По подразбиране django пренасочва стойността му към обратните URL адреси, като по този начин задаването на празен URL адрес трябва да го направи.