2013-12-26 3 views
7

Уже есть много подобных вопросов, но я уже пробовал эти решения безрезультатно. Я работаю через основной учебник Django, и вот мой код:Ошибка Django "No Module Named URLs"

urls.py

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

from django.contrib import admin 
admin.autodiscover() 

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

    # Uncomment the admin/doc line below to enable admin documentation: 
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 

    url(r'^rango/', include('rango.urls')), # ADD THIS NEW TUPLE! 
) 

views.py

from django.http import HttpResponse 

def index(request): 
    return HttpResponse("Rango says hello world!") 

Из settings.py файла

ROOT_URLCONF = 'tango_with_django_project.urls' 

Упование вы все можете помочь мне начать работу

+0

Вы добавили urls.py в свой каталог приложений для rango? Когда вы указываете include ('rango.urls'), вы говорите django, чтобы посмотреть в каталог rango для файла urls.py. – user1876508

+0

Спасибо! Это была проблема. Я добавил urls.py в свой каталог приложений для rango, но теперь я получаю сообщение об ошибке, указывающее, что текущий URL-адрес не соответствует ни одному шаблону URL-адреса в файле urls.py. – user3103499

+0

Попробуйте просмотреть URL-адреса. py в каталоге. Добавили ли вы какие-либо URL-адреса, похожие на мой пример? – user1876508

ответ

4

Предположим, у меня есть проект Django под названием FailBook с двумя приложениями, сообщениями и ссылками. Если я смотрю в FailBook/urls.py, я найду что-то вроде

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

from django.contrib import admin 
admin.autodiscover() 

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

    url(r'^posts/', include('posts.urls')), ## Custom url include 
    url(r'^links/', include('links.urls')), ## Custom url include 
) 

Итак, когда вы смотрите в структуру каталогов, вы заметите, что есть дополнительные два urls.py файлов

FailBook 
|-- posts 
    |-- models.py 
    |-- urls.py 
    |-- views.py 
    |-- etc. 
|-- links 
    |-- models.py 
    |-- urls.py 
    |-- views.py 
    |-- etc. 

# urls.py file in the posts folder 
from django.conf.urls import patterns, include, url 
from .views import PostListView, PostDetailView 

urlpatterns = patterns('', 

    url(r'^posts/', PostListView.as_view()), 
    url(r'^posts/(?P<post_id>\d+)', PostDetailView.as_view()), 
) 
# where both views are class based views, hence the as_view function call 
+0

Я не совсем понимаю, что вы подразумеваете, добавляя URL-адреса «похожие на ваш пример». простите, не могли бы вы объяснить это мне дальше? – user3103499

+0

Знаете ли вы, как писать представления и прикреплять их к файлу urls.py? Если нет, прочитайте первые несколько разделов https://docs.djangoproject.com/en/1.6/intro/tutorial03/. – user1876508

+0

Спасибо! Я проверил учебник Django, и я наконец получил его – user3103499

3

Я знаю, что это уже было решено, но предоставленные решения мне не помогли. Когда у меня была эта ошибка, это было так же просто, как проверить все каталоги, в которых должны были быть файлы urls.py. Что я обнаружил, так это то, что urls.py не был добавлен в репозиторий SVN, из которого было извлечено приложение Django.

Я рекомендую посмотреть в projectname-> projectname-> urls.py для всех ссылок на конкретные URL-адреса приложения и проверить, что файл urls.py существует для каждого из них.