2016-09-05 2 views
0

У меня есть следующая Джанго конфигурация URL в файле /urls.pyПочему это разрешение URL Django не работает

from django.conf.urls import url 
from django.conf.urls import include, url 
from django.contrib import admin 
import core 
import core.views as coreviews 

urlpatterns = [ 
    #url(r'^admin/', admin.site.urls), 
    #url(r'^create/$', coreviews.handleFile), #Uncommenting this works 
    url(r'^create/$', include('core.urls')), #This doesn't work 
    url(r'^$', include('core.urls')),#Make msg app the the default one 
    #url(r'^upload/', include('core.urls')), 
] 

Моего ядро ​​/ urls.py файл определяются следующим образом

from django.conf.urls import include, url 
from django.contrib import admin 
import core.views as coreviews 
from django.core.urlresolvers import reverse 
from django.conf import settings 
from django.contrib.auth.decorators import login_required 

urlpatterns = [ 
    url(r'my$', coreviews.handleFile), 
    url(r'^$', coreviews.index), 
] 

Наконец , ядро ​​/ views.py файла определяется следующим образом

def index(request): 
    return render_to_response('AudioRecorder/index.html', context_instance=RequestContext(request)) 

def handleFile(request): 
    return render_to_response('AudioRecorder/index.html', context_instance=RequestContext(request)) 

show_urls выход следующим

/ core.views.index   
/create/ core.views.index   
/create/my core.views.handleFile  
/my core.views.handleFile 

Вопрос: Я бегу на локальном хосте. Когда я отправляю запрос на url http://localhost:8000/, я получаю правильный ответ с кодом 200. Но когда я отправляю запрос на url http://localhost:8000/create/my, я получаю 404 не найдена ошибка. Почему так происходит? Должен ли второй URL-адрес также возвращать код 200?

ответ

2

Потому что вы завершаете шаблон url включая $, что означает конец шаблона. Ничто не может сравниться с прошлым. Удалите эти символы:

url(r'^create/', include('core.urls')), 
url(r'', include('core.urls')), 
+0

Спасибо. Это работает. – user763410

Смежные вопросы