Skip to content

Instantly share code, notes, and snippets.

@Almad
Forked from dg/gist:1009307
Created June 5, 2011 19:41
Show Gist options
  • Save Almad/1009319 to your computer and use it in GitHub Desktop.
Save Almad/1009319 to your computer and use it in GitHub Desktop.
Routing in Django verus Nette Framework

DJANGO

In urls.py

# urls like "articles/2011/tutorial03" or "articles/2011/tutorial03.html"

urlpatterns = patterns('',
    (r'articles/(?P<year>(?U)\\d+)/(?P<item>(?U)[^/]+)(?:\\.htm(?:l)?)?/?\$', 'articles.detail'),
)

In template:

<p><a href="/articles/{{ article.year }}/{{ article.id }}">The Article</a></p>
  • Regular expression is hard to read.
  • Any change of URL means to change some templates.
  • Redirect to the prefered URL must developer provide itself.

Nette Framework

In bootstrap.php

$router[] = new new Route('articles/<year \d+>/<item>[.htm[l]]', 'Articles:detail');

In template:

<p><a n:href="Articles:detail $article.year, $article.id">The Article</a></p>
  • Route mask is easy to read.
  • Any change of URL means to change one line in bootstrap.php.
  • Redirect to the prefered URL is done automatically.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment