35👍
Figured out what the issue is. The proper url_pattern on the project level is:
urlpatterns = patterns('',
url(r'^polls/', include('polls.urls')),
url(r'^$', 'pages.views.root'),
url(r'', include('pages.urls')),
)
When this is in place, ‘/about’ and other simple paths direct properly.
Thanks everyone!
7👍
Try this, for url.py on the project level:
urlpatterns = patterns('',
# Examples:
url(r'^$', 'apps_name.views.home', name='home'),
# 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)),
(r'^about/', include('about.urls')),
)
and then the url.py for the app about
urlpatterns = patterns('',
url(r'^$', direct_to_template, {"template": "about/about.html"}, name="about"),
)
Take into account that regular expression are evaluated from top to bottom, then if the path fits the regexp it will enter. To learn more about regexp google it or try the great book from Zed Shaw about regexps
- [Django]-How to use Cassandra in Django framework
- [Django]-Django form resubmitted upon refresh
- [Django]-Anyone using Django in the "Enterprise"
4👍
Note that from Django version 2.0 the URL pattern has changed to use django.urls.path()
Check Example here: link
from django.urls import path
from . import views
urlpatterns = [
# ex: /polls/
path('', views.index, name='index'),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),
]
- [Django]-Template filter to trim any leading or trailing whitespace
- [Django]-Django: detect admin login in view or template
- [Django]-What is choice_set in this Django app tutorial?
0👍
About the url
method:
url(r'^$', 'pages.views.root')
url
is deprecated in Django 3.1, it’s good to use re_path
instead.
https://docs.djangoproject.com/en/3.1/ref/urls/#s-url
https://docs.djangoproject.com/en/3.1/ref/urls/#re-path
Note: The r'^$'
pattern WON’T work with path
function, and will give you a misleading error that the route could not be found.
You have to use re_path(r'^$', [etc])
every time you use a regular expression instead of a simple string in pattern.
- [Django]-How to use django-debug-toolbar for django-tastypie?
- [Django]-Django: order_by multiple fields
- [Django]-Right way to return proxy model instance from a base model instance in Django?