Ähmm ich denke nicht, /search/ ist immer present.
Sonst würde das
Code: Alles auswählen
(r'^publisher/(\w[a-z0-9-]+)/$', books_app_views.books_tags_publishers)
nicht funktionieren.
Nein, ich denke, das Problem ist in RegEx mit dem <slug>.
Gestern habe ich bisschen umgeschrieben:
urls.py (in projekt-verzeichniss)
Code: Alles auswählen
urlpatterns = patterns('',
...
#Books-App
(r'^books/', include('mysite.books.books_urls')),
#beim http://localhost:8000/books/ werden die URLPatterns aus mysite.books.books_urls.py geladen/inkludiert
...
)
books_ulrs.py
Code: Alles auswählen
from mysite.books import views as books_app_views
...
urlpatterns = patterns('',
(r'^search/$', books_app_views.books_search_form), #funktioniert beim http://localhost:8000/books/search
(r'^publisher/(\w[a-z0-9-]+)/$', books_app_views.books_tags_publishers) #funktioniert beim http://localhost:8000/books/publisher/apress-publishing/
(r'^publisher/(?P<slug>+)/$', books_app_views.books_tags_publishers) #funktioniert gar nicht. Fehler: error at /books/search/ nothing to repeat
)
hier ist nicht eine Ausschnitt aus mysite.books.views.py
Code: Alles auswählen
...
def books_tags_publishers(requst, pub_name):
if pub_name:
return HttpResponse('Der <strong>%s</strong> Verlag:' % pub_name)
...
und hier is ein Ausschnit ausm template wo die lnks zu http://localhost:8000/books/publisher/<publisher_name>/ generiert werden:
Code: Alles auswählen
...
<fieldset>
<legend>Verlag-Tags</legend>
<p>
{% if pub_tags_dict %}
{% for pub_tag in pub_tags_dict %}
<a href="/books/publisher/{{pub_tag|slugify}}">
{{pub_tag}}</a>
{% endfor %}
{% else%}
Keine pub_tags
{% endif %}
</p>
</fieldset>
...