NoReverseMatch at / Reverse для 'store' не найден.'store' не является допустимой функцией просмотра или именем шаблона - PullRequest
1 голос
/ 09 марта 2019

Я пытаюсь создать простую домашнюю страницу, на которой будет ссылка на другую страницу с именем store.html.

views.py

from django.shortcuts import render, get_object_or_404, redirect

def home(request):
    return render(request, 'store/home.html')

def store(request):
    return render(request, 'store/store.html')

urls.py

from django.urls import path
from . import views


app_name = 'store'

urlpatterns = [
    path('', views.home, name ='home'),
    path('store/', views.store, name = 'store'),
]

home.html

Здесь я поставил href="{% url 'home' %}", но я обнаружил ошибку reverse not match, и все остальное выглядит хорошо.

{% extends './base.html' %}

{% block content %}
<body>
    <h1>home</h1>
    <a class = 'btn' href="{% url 'store' %}">store</a>

</body>
{% endblock %}

Пожалуйста, помогите мне, как это исправить, чтобы сделать ссылку такчто при нажатии на него откроется другая страница.Я новичок в django и использую version 2.1.7.

1 Ответ

0 голосов
/ 09 марта 2019

Согласно вашей ошибке, store - недопустимая функция просмотра, потому что вы добавили app_name в ваш urls.py,

<body>
    <h1>home</h1>
    <a class = 'btn' href="{% url 'store:store' %}">store</a>
</body>

Url всегда будет нуждаться в app_name, когда вы упомянули его в urlpatterns. Чтобы узнать больше chack Django Namespace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...