2015-12-08 26 views
10

Merhaba, Python ve Django'da yeniyim ve django workshop rehberini takip ediyorum. Python 3.5 ve Django 1.9'u yükledim ve birçok hata mesajı alıyorum ... Şimdilik birçok dokumentasyon buldum ama şimdi takıldım. Ben görüş ve eklemek istediğiniz ve bu yüzden urls.py aşağıdaki kodu eklendi:Django 1.9'da callable geçişi nasıl yapılır

from django.conf.urls import include, url 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = [ 
    # Uncomment the admin/doc line below to enable admin documentation: 
    #url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^rezept/(?P<slug>[-\w]+)/$', 'recipes.views.detail'), 
    url(r'^$', 'recipes.views.index'), 
] 

ve her zaman hata mesajı alıyorum:

Support for string view arguments to url() is deprecated and will be removed in Django 1.10 (got recipes.views.index). Pass the callable instead. 
    url(r'^$', 'recipes.views.index'), 

Ama onları nasıl geçirileceğini bulamadık . Belgeler sadece "bunları ilet" diyebiliyorlar ama nasıl bir örnek yok ...

+0

Django 1.4 için bu kılavuz yazılmıştır. O zamandan beri çok şey değişti, bu yüzden Django'yu öğrenmek için farklı bir öğretici aramak daha iyi olabilir. – Alasdair

+0

Hmm yeah teşekkür ederim (= – Pompi

cevap

20

Bu bir onaylama uyarısıdır, yani kod şu an için hala çalışır. Ama bu adrese, sadece bu kadar

url(r'^$', 'recipes.views.index'), 

değiştirin:

#First of all explicitly import the view 
from recipes import views as recipes_views #this is to avoid conflicts with other view imports 

ve URL kalıplarında

modern çağda

url(r'^rezept/(?P<slug>[-\w]+)/$', recipes_views.detail), 
url(r'^$', recipes_views.index), 

More documentation and the reasoning can be found here

, biz Öğreticiyitavsiye etmek için güncelledikgörünüm modülünüzü içe aktarma ve görüntüleme işlevlerinize (veya sınıflarına) doğrudan gönderme. Bu, "Django String Magic" yerine normal Python kullanıyor olduğumuz gerçeğinden yola çıkarak 'dan gelen bir dizi avantaj sunar: bir görünüm adının yanlış yazılması hataları daha az belirsizdir, IDE'ler görünüm adlarının otomatik tamamlanmasına yardımcı olabilir vb.

+0

wow Çok teşekkür ederim^-^ – Pompi

+0

Memnun oldum ... – karthikr

İlgili konular