передача заголовка страницы в URL

#python #django #django-views

#python #django #django-просмотры

Вопрос:

Используя Django, я пытаюсь передать заголовок текущей страницы в динамический URL-адрес, но я продолжаю получать ошибки, заголовок страницы также создается динамически из других views.py функции.

Ошибка

тип исключения: TypeError

значение исключения: edit_page() получил неожиданный аргумент ключевого слова ‘title’

urls.py

  path("wiki/edit/<str:title>", views.edit_page, name="edit")
 

HTML-файл

 {% block title %} {{ title }} {% endblock %} 

{% block body %} 
<a class="page-link" href="{% url 'wiki:edit' page=title %}">edit page</a>
{% endblock %}
 

views.py

 def edit_page(request, page):
page_request = page
if request.method == "GET":
    return render(request, "encyclopedia/edit_page.html", {
        "form": form,
        "page": page_request
    })
 

Комментарии:

1. Какая у вас ошибка? Добавьте трассировку ошибки

2. Обновил его с помощью трассировки ошибок

Ответ №1:

Обновите свой параметр edit_page(...) функции до

 def edit_page(request, title):
    page_request = title
    # rest of your code 

Комментарии:

1. Спасибо. Не могли бы вы объяснить, почему это произошло? Был ли синтаксис неправильным?

2. Функция просмотра ожидала ввода параметра с именем title , и вам был отправлен параметр с именем page

3. Не могли бы вы проголосовать за ответ, если это было полезно? @Gerald-x