Question

i am learning django by using django 1.6 documents tutorial 1 - 6. this round is my 4th try and, previous 3 try was successful and i understand more on every try.

i am in tutorial 3 now, to create views.

according to the documents, after i created a view, i need to map it to a URL. so i follow the documents to add a urls.py in the polls directory. and then i follow the document to add include() to mysite/urls.py i am able to so called wired an index view into the polls view.

now if i go back to localhost:8000, i get an error page, so my question is 1) WHY? 2) how to get back my localhost:8080 index page co-exist with the polls index page?

thank you very much everyone for your time. i am new and sorry for so simple question. thank you.

updated: this is my urls.py

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

from django.contrib import admin
admin.autodiscover()

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

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

this is my polls/urls.py

from django.conf.urls import patterns, url

from polls import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index')
)

the error msg is:

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^admin/
^polls/
The current URL, , didn't match any of these.
Was it helpful?

Solution

http://localhost:8000 index page will be displayed when you created a project (mysite). After creating an application and including it in installed apps in settings.py, you will no longer view the index page of the project, rather your admin page of the application (polls) will be visible at http://localhost:8000/admin

And if you had created any views with the following patterns in polls/urls.py

urlpatterns = patterns('',
       url(r'^$', views.index, name='index'),
       url(r'^blog/$', views.blog, name='blog'),
)

You need to visit http://localhost:8000/polls for your index page and http://localhost:8000/polls/blogs for your poll blogs page

Editing my answer for step by step approach:

create index.html at polls/templates/polls directory.

in polls/views.py

from django.shortcuts import render_to_response
def pollindex(request):
     return render_to_response('polls/index.html', context_instance=RequestContext(request))

in polls/urls.py

urlpatterns = patterns('',
      url(r'^index/$', views.pollsindex, name='index'),
)

in your project/urls.py

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

And now you can view your template index.html at http://localhost:8000/polls/index

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top