Аз изпълнявам Джанго в режим 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 адрес трябва да го направи.