OK, I've more or less solved my original problems in deploying in this
space. Well I've deployed and am happy.
BUT, I am still bamboozled by something and wonder if anyone has any
clue or insights to share?
I have these two urlpatterns defined:
url(r'^list/(?P<model>\w+)', views.view_List.as_view(), name='list')
url(r'^view/(?P<model>\w+)/(?P<pk>\d+)$',
views.view_Detail.as_view(), name='view'),
Works a charm with these template tags:
<a href="{% url 'list' 'Player' %}">List Players</a>
<a href="{% url 'view' model_name o.pk %}">View Player {{ o }} </a>
That url tag produces these URLs:
http://127.0.0.1:8000/list/Player
http://127.0.0.1:8000/view/Player/1
And it works. I click the links and they work. Well I've been developing
this way for a couple of years and it's always worked ;-). it's great!
BUT, after deploying, this resolves on the home page to:
http://leaderboard.space/list/Player
And when I click it it works! Awesome. Happy as. Great stuff. Gotta love
Django!
BUT, if is open this page:
http://leaderboard.space/view/Player/1
It renders fine, I see a great view of player 1.
BUT, on that page is the good old list link from above, namely:
<a href="{% url 'list' 'Player' %}">List Players</a>
and on the dev site this resolves to:
http://127.0.0.1:8000/list/Player
and here is the thing I'm stuck on! On the deployed site it renders as:
http://leaderboard.space/view/list/Player
What? Where did that 'view' come from? Of course I click it I get a 404
error:
Page not found (404)
Request Method: GET
Request URL: http://leaderboard.space/view/list/Player
Using the URLconf defined in CoGs.urls, Django tried these URL
patterns, in this order:
1. ^$ [name='home']
2. ^admin/
3. ^login/$ [name='login']
4. ^logout/$ [name='logout']
5. ^fix [name='fix']
6. ^unwind [name='unwind']
7. ^check [name='check']
8. ^rebuild [name='rebuild']
9. ^kill/(?P<model>\w+)/(?P<pk>\d+)$ [name='kill']
10. ^list/(?P<model>\w+) [name='list']
11. ^view/(?P<model>\w+)/(?P<pk>\d+)$ [name='view']
12. ^add/(?P<model>\w+)$ [name='add']
13. ^edit/(?P<model>\w+)/(?P<pk>\d+)$ [name='edit']
14. ^delete/(?P<model>\w+)/(?P<pk>\d+)$ [name='delete']
15. ^leaderboards [name='leaderboards']
16. ^json/game/(?P<pk>\d+)$ [name='get_game_props']
17. ^json/leaderboards [name='json_leaderboards']
18. ^static\/(?P<path>.*)$
The current path, view/list/Player, didn't match any of these.
clearly. Because I don't look for this bizarre and newly introduced 'view'.
Now to be clear, I have a way around this, but I am not looking for a
workaround here, I'm fishing for any clues that help me understand how
the url template tag generates its output and when and why it inserts a
string like this that seems to be the name of the view that the link is on!
Mystery++ and PITA.
Regards,
Bernd.
--
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/7321f6b7-a422-464f-0e13-77e099dc704c%40gmail.com.
For more options, visit https://groups.google.com/d/optout.