Referencing URLs for other views in Django 1.8 with no arguments -
i working on simple django 1.8 application template referencesa url points view. views class-based generic views.
when attempting load page, following error:
noreversematch @ / reverse 'add' arguments '()' , keyword arguments '{}' not found. 1 pattern(s) tried: [u'$add/$'] <form action="{% url 'movies:add' %}" method="post">{% csrf_token %} my app's url.py:
urlpatterns = [ url(r'^$', views.movielist.as_view(), name="index"), url(r'^add/$', views.moviecreate.as_view(), name="add"), url(r'^(?p<pk>\d+)/delete/$', views.moviedelete.as_view(), name="delete"), url(r'^(?p<pk>\d+)/update/$', views.movieupdate.as_view(), name="update") ] the template being used:
<table> <tr> <td><a href="?sort=title">title</a></td> <td><a href="?sort=year">year</a></td> <td><a href="?sort=director">director</a></td> </tr> {% movie in movie_list %} <tr> <td>{{movie.title}}</td> <td>{{movie.year}}</td> <td>{{movie.director}}</td> </tr> {% endfor %} </table> <form action="{% url 'movies:add' %}" method="post">{% csrf_token %} <input type="submit" value="add movie" /> </form> the 2 views in question:
class movielist(listview): model = movie queryset = movie.objects.order_by("title", "-year", "director") context_object_name = "movie_list" template_name = "movies/index.html" class moviecreate(createview): model = movie fields = ["title", "year", "director"] template_name = "movies/add_movie.html" this strange me since correct url being resolved in template , there no variables expected createview (i think).
1 pattern(s) tried: [u'$add/$'] this means regex used include app's urls ends $. works empty pattern such movielist, not non-empty patterns. remove $ in regex , it'll work.
Comments
Post a Comment