2011-11-10 16 views
52

Prima di scrivere in urls.py, il mio codice ... tutto ha funzionato perfettamente. Ora ho problemi - non posso andare sul mio sito. "Non può importare modelli di nome"non è possibile importare i modelli nome

mio urls.py è:

from django.conf.urls import patterns, include, url 

Hanno detto che errore è da qualche parte qui.

+0

Potete per favore mostrarci l'errore completo e la traccia? –

+3

Ho avuto lo stesso problema mentre seguivo la guida "scrivi la tua prima app django". Quando ho spostato i profili URL dall'urls.py principale a polls.urls.py. Il problema risolto dopo aver modificato "da django.conf.urls import pattern, include, url" con "da django.conf.urls.defaults import * " – qliq

+2

Ho avuto lo stesso problema durante la distribuzione sul mio server di staging. Il problema è andato via sono andato aggiornato da django 1.3.1 a 1.4 eseguendo sudo pip install --upgrade django –

risposta

18

Non hai bisogno di quelle importazioni. L'unica cosa che avete bisogno nella vostra urls.py (per iniziare) è:

from django.conf.urls.defaults import * 

# This two if you want to enable the Django Admin: (recommended) 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    # ... your url patterns 
) 

NOTA: Questa soluzione è stata destinata per Django < 1.6. Questo era in realtà il codice generato da Django stesso. Per la versione più recente, vedere la risposta di Jacob Hume.

+2

Non funziona per me. – Hunsu

+30

l'importazione * è considerata una cattiva pratica – llazzaro

+2

da django.conf.urls.defaults import * è stata rimossa da djnago1.6 – neelima

17

Sì:

from django.conf.urls.defaults import ... # is for django 1.3 
from django.conf.urls import ...   # is for django 1.4 

Ho incontrato anche questo problema.

+0

Perché questo non è accettato? – Alexxio

0

ho risolto che clonando il mio progetto direttamente in Eclipse dal GIT,

Inizialmente ero clonazione è in posizione specifica sul file system quindi importando come progetto esistente in Eclipse.

124

A partire da Django 1.10, il modulo patterns è stato rimosso (era stato ritirato dal 1.8).

Per fortuna, dovrebbe essere una semplice modifica di rimuovere il codice incriminato, dal momento che la urlpatternsshould now be stored in a plain-old list:

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    # ... your url patterns 
] 
+1

ma come posso aggiungere "MEDIA_ROOT" e "MEDIA_URL" ai modelli di URL –

+1

Come aggiungere l'URL del supporto: https://docs.djangoproject.com/en/1.10/howto/static-files/#serving-static-files -durante lo sviluppo – Raptor

+2

Per una migliore documentazione e motivazioni su questa modifica in Django 1.8, vedere https://docs.djangoproject.com/en/1.10/releases/1.8/#django-conf-urls-patterns – nealmcb

9

modulo di modelli non è supportato .. miniera ha lavorato con questo.

from django.conf.urls import * 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    # ... your url patterns 
] 
4

Questo è il codice che ha funzionato per me. La mia versione Django è 1.10.4 finale modulo modello

from django.conf.urls import url, include 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = [ 
    # Examples: 
    # url(r'^$', 'blog.views.home', name='home'), 
    # url(r'^blog/', include('blog.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
] 
2

in non disponibile da Django 1.8. Quindi è necessario rimuovere il pattern dall'importazione e fare qualcosa di simile al seguente:

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

admin.autodiscover() 

urlpatterns = [     
    # here we are not using pattern module like in previous django versions 
    url(r'^admin/', include(admin.site.urls)), 
] 
Problemi correlati