Hoi
Ik zit voor het eerst in tijden weer wat software te coden en ben begonnen met django. Op zich ben ik bekend met alle concepten, maar ik krijg een route niet aan de gang.
Nu heb ik de alombekende tango with django tutorial gedaan en op basis hiervan ben ik een webappje aan het maken om een jabberserver te beheren.
Alles prima maar ik krijg een bepaalde route niet goed aan ed gang.
in mijn voorbeeld heb ik deze routing zitten:
Hier is met name deze route relevant:
url(r'^category/(?P<category_name_url>\w+)/add_page/$', views.add_page, name='add_page'),
ik wil deze route imiteren door een userlisting aan te bieden op de url '/jabberuser' waarna je naar '/jabberuser/boudewijn' kunt gaan om 'boudewijn' te bekijken. klinkt niet al te lastig he?
Dit werkt in de tutorial kan ik naar http://localhost:8000/rango/category/Python gaan , waarbij Python de naam van de category is . Werkt prima.
Nou als ik dat dan eens omzet naar mijn voorbeeld:
Goed, wat werkt er wel en niet:
http://localhost:8000/jabberadmin/jabberuser/
Werkt prima, geeft me de zelfgebouwde listing weer. Dit geeft ook aan dat de urls.py van mijn projectje aangesproken wordt... allemachtig prachtig dus.
Als ik dan doorhop naar:
http://localhost:8000/jabberadmin/jabberuser/boudewijn
Wat een bestaande user is... dan faalt de route:
Het maakt hierbij niet uit of ik er een / achter zet of niet. Als het goed is valt mijn username (boudewijn) onder \w+, wat een collectie is van meerdere letters/cijfers/underscores. Als ik online kijk lijkt die regex ook prima te werken op regexpal enzo.
Nu heb ik al wat lopen tweaken met die routes maar ik krijg hem niet aan de praat.
Weet iemand waar dit fout gaat?
Ik zit voor het eerst in tijden weer wat software te coden en ben begonnen met django. Op zich ben ik bekend met alle concepten, maar ik krijg een route niet aan de gang.
Nu heb ik de alombekende tango with django tutorial gedaan en op basis hiervan ben ik een webappje aan het maken om een jabberserver te beheren.
Alles prima maar ik krijg een bepaalde route niet goed aan ed gang.
in mijn voorbeeld heb ik deze routing zitten:
code:
1
2
3
4
5
6
7
8
9
10
11
| urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^about/$', views.about, name='about'),
url(r'^category/(?P<category_name_url>\w+)$', views.category, name='category'),
url(r'^add_category/$', views.add_category, name='add_category'),
url(r'^category/(?P<category_name_url>\w+)/add_page/$', views.add_page, name='add_page'),
url(r'^register/$', views.register, name='register'),
url(r'^login/$', views.user_login, name='login'),
url(r'^restricted/$', views.restricted, name='restricted'),
url(r'^logout/$', views.user_logout, name='logout'),
) |
Hier is met name deze route relevant:
url(r'^category/(?P<category_name_url>\w+)/add_page/$', views.add_page, name='add_page'),
ik wil deze route imiteren door een userlisting aan te bieden op de url '/jabberuser' waarna je naar '/jabberuser/boudewijn' kunt gaan om 'boudewijn' te bekijken. klinkt niet al te lastig he?
Dit werkt in de tutorial kan ik naar http://localhost:8000/rango/category/Python gaan , waarbij Python de naam van de category is . Werkt prima.
Nou als ik dat dan eens omzet naar mijn voorbeeld:
code:
1
2
3
4
5
6
7
8
| urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^about/$', views.about, name='about'),
url(r'^jabberuser/(?P<user>\w+)$', views.jabberuser, name='jabberuser'),
url(r'^jabberuser/$', views.jabberuserlist, name='userlist'),
url(r'^login/$', views.user_login, name='login'),
url(r'^logout/$', views.user_logout, name='logout'), |
Goed, wat werkt er wel en niet:
http://localhost:8000/jabberadmin/jabberuser/
Werkt prima, geeft me de zelfgebouwde listing weer. Dit geeft ook aan dat de urls.py van mijn projectje aangesproken wordt... allemachtig prachtig dus.
Als ik dan doorhop naar:
http://localhost:8000/jabberadmin/jabberuser/boudewijn
Wat een bestaande user is... dan faalt de route:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/jabberadmin/jabberuser/boudewijn/
Using the URLconf defined in jabberadmin_project.urls, Django tried these URL patterns, in this order:
^jabberadmin/ ^$ [name='index']
^jabberadmin/ ^about/$ [name='about']
^jabberadmin/ ^jabberuser/(?P<user>\w+)$ [name='jabberuser']
^jabberadmin/ ^jabberuser/$ [name='userlist']
^jabberadmin/ ^login/$ [name='login']
^jabberadmin/ ^logout/$ [name='logout']
^admin/
The current URL, jabberadmin/jabberuser/boudewijn/, didn't match any of these. |
Het maakt hierbij niet uit of ik er een / achter zet of niet. Als het goed is valt mijn username (boudewijn) onder \w+, wat een collectie is van meerdere letters/cijfers/underscores. Als ik online kijk lijkt die regex ook prima te werken op regexpal enzo.
Nu heb ik al wat lopen tweaken met die routes maar ik krijg hem niet aan de praat.
Weet iemand waar dit fout gaat?