2014-02-20 7 views
1

Может ли кто-нибудь помочь мне с этой проблемой. Когда я пытаюсь получить доступ, я получаю следующую ошибку.Страница не найдена (404) django

Метод

запроса: GET Request URL:
Используя URLconf, определенный в myproject.urls, Django пробовал эти шаблоны URL, в следующем порядке: ^ админ/ ^ MyProject/$ [имя = 'дом'] Текущий URL-адрес не соответствует ни одному из них. Вы видите эту ошибку, потому что у вас DEBUG = True в файле настроек Django. Измените это на False, и Django отобразит стандартную страницу 404.

urls.py

from django.conf.urls import patterns, include, url 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
# Examples: 
#url(r'^$', 'myproject.views.home', name='home'), 
# url(r'^blog/', include('blog.urls')), 

url(r'^admin/', include(admin.site.urls)), 
url(r'^booking/$', 'booking.views.home', name ='home'), 
) 

views.py

from django.shortcuts import render 
#.. 

# Create your views here. 
def index(request): 
    return render("Hello, guesthouse!!") 

settings.py

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'booking', 
) 
ROOT_URLCONF = 'myproject.urls' 

WSGI_APPLICATION = 'myproject.wsgi.application' 

admin.py

from django.contrib import admin 
from booking.models import Bookings 


# Register your models here. 
admin.site.register(Bookings) 

Спасибо, РАУ

ответ

1

Вы, кажется, не имеют home функцию в booking.views.

расширенный ответ: каждый URL-спецификация имеет пару частей, которые сообщают Django, как маршрутизировать запрос. В вашем посте у вас есть:

url(r'^booking/$', 'booking.views.home', name ='home'),

Для того, чтобы отображения для работы вам нужно иметь функцию:

booking.views.home

У вас есть три варианта здесь, во-первых, для реализации другого а второй - это то, что вы можете переименовать booking.views.index в booking.views.home, а в-третьих, вы можете изменить спецификацию URL-адреса следующим образом:

url(r'^booking/$', 'booking.views.index', name ='home'),

Все три из этих вариантов предположим, что у вас есть структура каталогов вроде:

|-<project_root_dir> 
| | 
| |- <project> 
| |- booking 
| |  |- <other files> 
| |  |- views.py 
+0

Привет Джон, спасибо за предложение. Какую функцию дома вы имеете в виду? – Rads

+0

Взгляните на пересмотренный ответ –

+0

Привет, Джон, Большое спасибо за предложения. Я следовал вашим указаниям. С уважением, Rads – Rads

0

Ваша ошибка в urls.py. Ваш последний шаблон неверен. Я думаю, что это должно быть

url(r'^booking/$', 'booking.views.index'), 
+0

Привет, спасибо за предложение, что он не работал раньше с 'booking.views. index ', поэтому я разместил URL-адрес с' booking.views.home '. – Rads

+0

Я пробовал с этим URL-адресом раньше, чем он не работал. url (r'^booking/$ ',' booking.views.index ') – Rads

+0

I' я не уверен, что понимаю, что вы командуете. Исправьте меня, если я ошибаюсь - у вас есть модуль views.py, расположенный в приложении «бронирование» напрямую ORY. Внутри этого модуля есть функция 'index()'. Если это так, то вам нужно сопоставить свой url() шаблон, чтобы специально вызвать эту функцию. Если это не работает, посмотрите на макет вашего каталога/модуля. Что-то еще не так. – user590028

3

Вы получаете 404, потому что «home» не существует в views.py или по ошибке, вы неправильно указали представление.

ниже я изменил название зрения на «дома», который соответствует виду, указанному в вашем urls.py

views.py

from django.shortcuts import render 

def home(request): 
    """ 
     home view 
    """ 
    return render("Hello, guesthouse!!") 
Смежные вопросы