2016-04-14 6 views
-1

Hier ist mein Code, der warnt.Unterstützung für Zeichenfolgenargumente zu URL() ist veraltet und wird in Django 1.10 entfernt. Übergeben Sie stattdessen die aufrufbare

Es gibt Warnungen für Zeichenketten wie "posts.views.post_list" in urlpatterns und schlägt vor, anstelle von Strings die Callable stattdessen übergeben. Ich muss diese Warnung beheben oder entfernen.

from django.conf.urls import url 
#from django.contrib import admin 

from . import views 

urlpatterns = [ 
    url(r'^$', "posts.views.post_list"), 
    url(r'^create/$', "posts.views.post_create"), 
    url(r'^detail/$', "posts.views.post_detail"), 
    url(r'^update/$', "posts.views.post_update"), 
    url(r'^delete/$', "posts.views.post_delete"),  
    #url(r'^posts/$', "<app_name>.<views_py>.<function_name>"), 
] 
+0

http://stackoverflow.com/questions/34096424/django-support-for-string-view-arguments-to-url-is-deprecated-and-will-be-rem duplizieren ... – GrvTyagi

Antwort

1

Da die Warnung sagt, Strings url vorbei ist veraltet (docs).

Sie müssen die aufrufbar übergeben. Das bedeutet, die Funktion importieren und direkt übergeben:

urlpatterns = [ 
    url(r'^$', views.post_list), 
    url(r'^create/$', views.post_create), 
    url(r'^detail/$', views.post_detail), 
    url(r'^update/$', views.post_update), 
    url(r'^delete/$', views.post_delete),  
] 
1

Sie sollten die wirkliche Funktion anstelle einer Zeichenfolge übergeben, bestehend aus den Namen der Funktion:

from django.conf.urls import url 
#from django.contrib import admin 

from . import views 

urlpatterns = [ 
    url(r'^$', views.post_list), 
    url(r'^create/$', views.post_create), 
    url(r'^detail/$', views.post_detail), 
    url(r'^update/$', views.post_update), 
    url(r'^delete/$', views.post_delete),  
    #url(r'^posts/$', <views_py>.<function_name>), 
] 
2

Dank Sie alle Jungs, die ich, dass warnen mich fixiert. Jetzt läuft es gut, ohne irgendwelche Warnungen zu geben.

from django.conf.urls import url 
#from django.contrib import admin 

from .views import(
    post_list, 
    post_create, 
    post_detail, 
    post_update, 
    post_delete 
) 

urlpatterns = [ 
    url(r'^$', post_list), 
    url(r'^create/$', post_create), 
    url(r'^detail/$', post_detail), 
    url(r'^update/$', post_update), 
    url(r'^delete/$', post_delete),  
    #url(r'^posts/$', "<app_name>.<views_py>.<function_name>"), 
] 
Verwandte Themen