2016-02-19 3 views
0

У меня есть представление на основе класса, которое показывает данные в шаблоне с {% extends 'base.html'%}.Django 1.9: NoReverseMatch

Моя папка базовый файл находится в отдельной папке под названием продукты

My App URL

urlpatterns = [ 
    url(r'^contact/', views.contact, name='contact'), 
    url(r'^product_list/', views.ProductViewList.as_view(), name='ProductViewList'), 
] 

Шаблон класса на основе представления (product_list.html)

{% extends 'base.html' %} 

{% block content %} 
{{ object_list }} 
{% endblock %} 

Моя база. html

{% load staticfiles %} 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
    <link rel="icon" href="{% static 'img/favicon.ico' %}"> 

    <title>Starter Template for Bootstrap</title> 

    <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> 
     <link href="{% static 'css/starter-template.css' %}" rel="stylesheet"> 

    </head> 

    <body> 

    {% include 'navbar.html' %} 

     <div class="container"> 

      {% block content %} 

      {% endblock %} 

     </div><!-- /.container --> 


    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script src="{% static 'js/jquery.min.js' %}"></script> 
    <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script> 
    <script src="{% static 'js/bootstrap.min.js' %}"></script> 
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 
    <script src="{% static 'js/ie10-viewport-bug-workaround.js' %}></script> 
    </body> 
</html> 

Когда я посещаю "http://127.0.0.1:8000/product/product_list/" следующая ошибка выскакивает

enter image description here

Моей структуру каталогов, My base.html находится в корневом каталоге (шаблоны) и product_list.html в продуктов

enter image description here

я думаю там может быть проблема с {% распространяется% «base.html»}, но не знаете, как единственная проблема ....... Любая помощь очень ценится

Вот мой первые URLs ... который далее перенаправляет мое приложение url.py

from django.conf.urls import url, include 
    from django.contrib import admin 

    urlpatterns = [ 
     url(r'^admin/', admin.site.urls), 
     url(r'^product/', include('products.urls')), 
     url(r'^accounts/', include('registration.backends.default.urls')), 
    ] 
+0

Ьгу '' http://127.0.0.1:8000/product_list/, так как вы определили '^ product_list/'' в urls.py не '^ product/product_list/'' –

+0

У меня уже есть базовый url [' url (r '^ product /', include ('products.urls')), '] ......... ., который перенаправляет на продукты/urls.py – spidy

+1

pls предоставляет полный код вашего base.html. Как вы получаете вышеуказанную ошибку? по поводу прямой ссылки на адресную строку? Вы что-то нажали? Вы указали что-то вроде '{% url 'name'%}' на ur-код? –

ответ

0

вы должны указать имя для просмотра URL, которые идентифицируют, когда вы хотите использовать в шаблоне

from django.conf.urls import url 
import myapplication.views 

app_urlpatterns = [ 
    url(r'^article/(\d+)/$',views.article_detail,name='article-view-url'), 
] 

И это, как я использую имя URL-адрес в моем HTML шаблон

{% for article in articles.object_list %} 
     <article> 
      <h3> 
       <a href="{% url 'article-view-url' article.pk %}">{{ article.name }}</a> 
      </h3>    
      <p> 
       {{ article.desc }} 
      </p> 
     </article> 
    {% endfor %}