2015-09-08 24 views
5

Django'nun neden başvuruda istenen URL'yi bulamadığını anlayamıyorum. İşte Django URL kalıbı bulamıyor

from django.conf.urls import url 

from sms import views 

urlpatterns = [ 
    url(r'^success/$', views.success, name='success'), 
    url(r'^$', views.index, name='index') 
] 

uygulama urls.py dosyasıdır:

İşte
Using the URLconf defined in littlelogsms.urls, Django tried these URL patterns, in this order: 
^admin/ 
^$ 
The current URL, success/, didn't match any of these. 

benim sms.urls.py dosyasıdır: Burada

alıyorum hata kodudur

from django.conf.urls import include, url 
from django.contrib import admin 


urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', include('sms.urls')), 
] 

e hata yapıyorum. Herhangi bir fikir?

cevap

7

Bu sorun, bu URL desenindeki dolar işaretidir.

url(r'^$', include('sms.urls')), 

şapka ^ dize başlangıcını ve dize, böylece ^$ sadece indeks URL / eşleşirse karşılaşmaları sona erdi $ dolar eşleşir.

Sen dolar kaldırmak ve değiştirmek gerekir:

from django.conf.urls import include, url 
from django.contrib import admin 
urlpatterns = [ 
url(r'^admin/', include(admin.site.urls)), 
url(r'^sms', include('sms.urls')), //the 'sms' is your defined name 
] 

: Burada

gibi

url(r'^', include('sms.urls')), 
+0

teşekkür sms.urls verilen ad alanıdır !! çok basit bir şey olduğunu biliyordum ki ben almadım :) – phouse512

1

Eğer baz url ile denemelisiniz uygulama urls.py dosyasıdır İşte benim sms.urls.py dosyasıdır:

from django.conf.urls import url 

from sms import views 

urlpatterns = [ 
    url(r'^success/$', views.success, name='success'), 
    url(r'^$', views.index, name='index') 
] 

Eğer

sms olarak görünümlerinde gibi URL erişen denemelisiniz/// görünümünde başarı fonksiyonunu erişmek için // görünüm sms/başarıda tht endeksi fonksiyonunu erişmek için

veya kullanabilirsiniz şablonlardaki formun işlem etiketinde etiketler,

{% url 'sms: endeksi veya başarı' %} URL'ler aramaya // indeksi, başarı