Hi,

I'm the author of Django Unleashed. A second edition is in the works, but it is 
taking some time (I'm also working on a video series).

Django 2.0 introduced a simplified system for URLs.

https://docs.djangoproject.com/en/2.0/releases/2.0/#simplified-url-routing-syntax

If you want wish to use the new syntax while following along with the examples 
in Django Unleashed, you have two choices.


Choice 1: replace regular expression syntax with the simplified syntax, using 
path matchers at the link below instead of regular expression patterns.

https://docs.djangoproject.com/en/2.0/topics/http/urls/#path-converters

In this case, the code below...

    from django.conf.urls import url
    ...
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', viewCallable)

would be replaced with...

    from django.urls import path
    ...
    path('articles/<int:year>/<int:month>/<slug:slug>/', viewCallable)

Note that viewCallable is pseudocode for a function view or class-based view 
(viewClass.as_view()).

This involves changing every URL path (and now you know why the second edition 
is taking forever). Please note the new imports.


Choice 2: Use Django's new `re_path()` function instead of `url()` to fallback 
on original Django behavior.

In this case, the code below...

    from django.conf.urls import url
    ...
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', viewCallable)

would be replaced with...

    from django.urls import re_path
    ...
    re_path(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', viewCallable)

Only the function has changed: the regex pattern has not.

Read more about that at the link below.

https://docs.djangoproject.com/en/2.0/topics/http/urls/#using-regular-expressions


I might recommend using Choice 2 when following along with the book, but to 
give Choice 1 a whirl (after reading Django's documentation) on a new project 
as it's easier to read.

I hope this helps!

Andrew
http://jambonsw.com
http://django-unleashed.com



-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/52151FC1-6C32-4D85-9C2C-199BC849CCB8%40andrewsforge.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to