J'ai un avertissement de dépréciation dans Django 1.11:
RemovedInDjango20Warning: Passing a 3-Tuple to Django.conf.urls.include() is deprecated. Pass a 2-Tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.
url(r'^admin/', include(admin.site.urls))
Dans Django 2.0, cela donne l'erreur:
Django.core.exceptions.ImproperlyConfigured: Passing a 3-Tuple to include() is not supported.
Pass a 2-Tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.
Comment devrais-je changer url(r'^admin/', include(admin.site.urls))
? J'ai essayé de regarder la documentation, mais je n'ai aucune idée ...
Voici mon urls.py:
from Django.conf.urls import include, url
from Django.contrib import admin
admin.autodiscover()
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/Django-ses/', include('Django_ses.urls')),
url(r'^api/1.0/', include('feedcrunch_api_v1.urls')),
url(r'^oauth/', include('oauth.urls')),
url(r'^@(?P<feedname>\w+)/admin/', include('feedcrunch_rssadmin.urls')),
url(r'^@(?P<feedname>\w+)/', include('feedcrunch_rssviewer.urls')),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'', include('feedcrunch_home.urls')),
]
Dans Django 1.9, l'ancienne méthode pour inclure les URL d'administrateur est déconseillée . Vous devriez passer admin.site.urls
directement à url()
:
from Django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
...
]
J'ai eu du mal avec cela sur mon Macbook. J'avais un environnement virtuel activé avec Django 2.0 installé. Mais Django-admin
pointait toujours sur une installation au niveau du système à partir d’une ancienne version de Django. Ma solution consistait à désinstaller le système Django. Ensuite, Django-admin
pointait vers la nouvelle version de virtualenv.