My First Python Web App - PullRequest
       2

My First Python Web App

4 голосов
/ 01 марта 2012

Я пытаюсь написать программу, запустив Django, используя manage.py runserver ip: port в моем компьютере с Linux как пользователь без полномочий root.Моя первая цель состоит в том, чтобы, если пользователь вводит URL-адрес в браузере http://ip:port, он должен отображать что-либо или приветственное содержимое.

Поэтому я изменил свой файл mysite / url.py примерно так:

urlpatterns = patterns('',
    ('', ''),
    (r'^admin/', include(admin.site.urls)),
)

python manage.py runserver: работает и запускается нормально, но в браузере я получаю следующее исключение:

Тип исключения: недопустимая конфигурация Значение исключения: пустое имя представления шаблона URL не разрешено (для шаблона '')

Итак, как можно создать URL так:

www.google.com
www.mail.yahoo.com
www.mysite.com

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 01 марта 2012

Пустой шаблон будет соответствовать чему угодно, поэтому вы должны привязать его к полной пустой строке. Второй параметр кортежа также должен быть именем представления.

В вашем URLconf:

urlpatterns = patterns('',
    (r'^$', 'views.home'),     # ^$ means, beginning of string followed by end of string, in other words match on exactly empty string and nothing else
    (r'^admin/', include(admin.site.urls)),
)

В views.py в том же каталоге:

from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello World')
3 голосов
/ 01 марта 2012

Если вы не готовы приступить к мелочам, настроить, запустить и разместить собственный сервер Apache (или другую конфигурацию сервера) И зарегистрировать доменное имя, вы НЕ МОЖЕТЕ изменить имя домена из Python / Django.

Django обрабатывает только все, что идет после имени домена, например, /home/ часть URL http://www.mysite.com/home/.

Если вы готовы, книга Django имеет довольно хороший раздел о развертывании Django и настройке сервера для его запуска, но он не охватывает все основы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...