Я виконую Django в режимі 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;
}
}
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 адміністратора, але я не розумію, чому.
Відповіді:
2 для відповіді № 1Не забудьте додати fastcgi_param SCRIPT_NAME "";
твоєму location /
блоку в конфігурації nginx. За замовчуванням django додає його значення до обраних URL-адрес, таким чином, встановлення порожнього URL-адреси має змусити його працювати.