I'm a newbie trying to make a wiki page with Django, however, I keep running into this very annoying problem:
NoReverseMatch at /wiki/page/Start/
Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Sites urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
url(r'^wiki/', include('wiki.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
wiki urls.py
app_name = 'wiki'
urlpatterns = [
url('^', include('django.contrib.auth.urls')),
url(r'^login/$', auth_views.login, {'template_name': 'wiki/registration/login.html'}, name='login'),
url(r'^logout/$', auth_views.logout, {'template_name': 'wiki/registration/logged_out.html'}, name='logout'),
url(r'^register/$',views.register_page, name='register'),
]
urlpatterns += [
url(r'^page/(?P<page_name>[^/]+)/edit/$',views.edit_page, name='EditPage'),
url(r'^page/(?P<page_name>[^/]+)/save/$',views.save_page, name='SavePage'),
url(r'^page/(?P<page_name>[^/]+)/$',views.view_page, name='ViewPage'),
url(r'^upload/$', views.upload_file, name='upload_page' ),
]
Views.py
def view_page(request, page_name):
try:
page = Page.objects.get(pk=page_name)
except Page.DoesNotExist:
return render(request,"wiki/create.html", {"page_name":page_name})
content = page.content
return render(request, "wiki/view.html", {"page_name":page_name, "content":content})
view template which is plugged with the base. This problem applies to every single thing i try to open on my webpage. I have a navigation bar with navigation items such as login or logout, i get a very similar error.
{% extends 'wiki/base.html' %}
{% load wiki_extra %}
<html>
<head>
<title>{{page_name}}</title>
</head>
<body>
{% block content %}
<h1>{{page_name}}</h1>
{% autoescape off %}
{{content|markup}}
{% endautoescape %}
<div class="col-lg-12 text-center">
<form action="{% url 'wiki:EditPage' page_name=page_name %}">
<button class="btn btn-lg btn-danger" type="submit">Edit this page?</button>
</form>
</div>
{% endblock %}
</body>
</html>
Full error
Request Method: GET
Request URL: http://127.0.0.1:8000/wiki/page/Start/
Django Version: 1.9.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
On Jun 17, 2016 12:06 PM, "'antanas skiudulas' via Django users" <django...@googlegroups.com> wrote:
>
> I'm a newbie trying to make a wiki page with Django, however, I keep running into this very annoying problem:
>
> NoReverseMatch at /wiki/page/Start/ Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
>
> Sites urls.py
>
> urlpatterns = [
> url(r'^admin/', admin.site.urls),
> url(r'^polls/', include('polls.urls')),
> url(r'^wiki/', include('wiki.urls')),
> ]
> urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
>
> wiki urls.py
>
> app_name = 'wiki'
> urlpatterns = [
> url('^', include('django.contrib.auth.urls')),
> url(r'^login/$', auth_views.login, {'template_name': 'wiki/registration/login.html'}, name='login'),
> url(r'^logout/$', auth_views.logout, {'template_name': 'wiki/registration/logged_out.html'}, name='logout'),
> url(r'^register/$',views.register_page, name='register'),
> ]
>
> urlpatterns += [
> url(r'^page/(?P<page_name>[^/]+)/edit/$',views.edit_page, name='EditPage'),
> url(r'^page/(?P<page_name>[^/]+)/save/$',views.save_page, name='SavePage'),
> url(r'^page/(?P<page_name>[^/]+)/$',views.view_page, name='ViewPage'),
> url(r'^upload/$', views.upload_file, name='upload_page' ),
> ]
>
Try moving the 'url('^', include('django.contrib.auth.urls')),' line all the way to the end of your urlpatterns. The '^' is matching every URL.
-James