Ho 2 URL con un campo di lumaca nell'URL.Espressione regolare nell'URL per slog di Django
url(r'^genres/(?P<slug>.+)/$', views.genre_view, name='genre_view'),
url(r'^genres/(?P<slug>.+)/monthly/$', views.genre_month, name='genre_month'),
La prima si apre bene, ma il secondo dà un errore dicendo DoesNotExist
Genres matching query does not exist
.
Ecco come sto accedendo al 2 ° URL nel mio HTML
<li><a href="{% url 'genre_month' slug=genre.slug %}">Monthly Top Songs</a></li>
ho provato a stampare la lumaca nella vista. È passato come genre_name/monthly
invece che da genre_name
.
Penso che il problema sia con la regex negli URL. Qualche idea di cosa c'è che non va qui?
Una cosa da considerare è usare un limite ragionevole al numero di caratteri da abbinare, piuttosto che '+' per evitare attacchi di overflow, ad esempio, '(P [- \ w? ] {1255}) '. Puoi anche aumentare il minimo in questo modo se vuoi limitare ulteriormente ciò che vuoi e non corrisponderà. –
Tom