/ / DjangoがURLにadminプレフィックスを複製 - python、django、nginx、django-admin

DjangoはadminのプレフィックスをURLにコピーする - python、django、nginx、django-admin

FastcgiモードでDjangoを実行しています

./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;
}
}

管理URLは

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)),
)

Djangoが管理URLを複製しているようですが、理由がわかりません

回答:

回答№1は2

必ず追加してください fastcgi_param SCRIPT_NAME ""; あなたの location / nginx設定でブロックします。デフォルトでは、djangoは逆のURLの値を先頭に追加します。したがって、空のURLを設定するとうまくいきます。