python - كيفية تمرير قابل للاستدعاء في جانغو 1.9



django django-models (1)

مرحبا أنا جديدة في بيثون و جانغو وأنا اتبع دليل ورشة عمل جانغو . أنا فقط تثبيت بيثون 3.5 و جانغو 1.9 والحصول على الكثير من رسائل الخطأ ... فقط الآن وجدت الكثير من دوكومنتاتيونس ولكن الآن عالقا. أريد إضافة مرات مشاهدة، وبالتالي أضفت الشفرة التالية في urls.py:

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'),
]

وكل مرة تحصل على رسالة الخطأ:

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'),

ولكن لم أتمكن من العثور على كيفية تمريرها. لا تشير الوثائق إلا إلى "تمريرها" ولكن لا توجد أمثلة على كيفية ...


هذا تحذير من الإهمال، مما يعني أن الرمز سيظل قيد التشغيل الآن. ولكن لمعالجة هذا، مجرد تغيير

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

الى هذا:

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

وفي أنماط عنوان ورل،

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

يمكن العثور على مزيد من الوثائق والمنطق هنا

في العصر الحديث، قمنا بتحديث البرنامج التعليمي بدلا من ذلك يوصي استيراد وحدة وجهات النظر الخاصة بك والرجوع إلى وظائف عرض (أو الطبقات) مباشرة. هذا يحتوي على عدد من المزايا، وكلها مستمدة من حقيقة أننا نستخدم بيثون العادي بدلا من "دجانغو سلسلة ماجيك": الأخطاء عند كتابة اسم عرض أقل غامضة، يمكن أن تساعد إيدس مع الإكمال التلقائي لأسماء عرض، وما إلى ذلك.





django-1.9