Django и Nginx - URL-адреса одинаковы - PullRequest
0 голосов
/ 26 октября 2010

Прямо сейчас, любой URL просто вызывает страницу проекта по умолчанию («добро пожаловать в django»).

Независимо от того, что я добавляю (example.com, example.com/hello, example.com/asdfjkasdf( & $ (# $ $ #)

Я новичок в django и слежу за простым руководством.

В моем nginx.conf есть это:

location / {
                        # host and port to fastcgi server
                        fastcgi_pass 127.0.0.1:8801;
                        fastcgi_param PATH_INFO $fastcgi_script_name;
                        fastcgi_param REQUEST_METHOD $request_method;
                        fastcgi_param QUERY_STRING $query_string;
                        fastcgi_param SERVER_NAME $server_name;
                        fastcgi_param SERVER_PORT $server_port;
                        fastcgi_param SERVER_PROTOCOL $server_protocol;
                        fastcgi_param CONTENT_TYPE $content_type;
                        fastcgi_param CONTENT_LENGTH $content_length;
                        fastcgi_pass_header Authorization;
                        fastcgi_intercept_errors off;
}

Файлы моего сайта хранятся в /var/www/firstsite/

У моего views.py есть это:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world")

И у моего urls.py есть это:

from django.conf.urls.defaults import *
from firstsite.views import hello
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
        ('^hello/$', hello),
    # Example:
    # (r'^firstsite/', include('firstsite.foo.urls')),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # (r'^admin/', include(admin.site.urls)),
)

Нужно ли перезапускать экземпляр fcgi при каждом изменении (я бы так не думал). Я использовал: python manage.py runfcgi method="thread" host=127.0.0.1 port=8080

Так что да, как я могу заставить работать URL-адреса?Есть ли способ отладки с помощью django? Например, может быть, распечатать полученные данные, чтобы убедиться, что nginx работает правильно?

1 Ответ

0 голосов
/ 26 октября 2010

Не начинайте с попытки настроить Django с помощью FastCGI.Следуйте действительному учебнику и используйте встроенный сервер разработки.Как только вы поймете, как работает базовая структура, вы можете приступить к пониманию того, как ее развернуть.

И почему вы говорите, что не будете думать, что вам придется перезапускать экземпляр с каждымменять?Это именно , что вам нужно сделать .

...