【问题标题】:pass title of page into url将页面标题传递到 url
【发布时间】:2020-11-21 03:24:51
【问题描述】:

使用 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
    })

【问题讨论】:

  • 你遇到了什么错误?添加错误回溯
  • 用错误回溯更新它

标签: python django django-views


【解决方案1】:

edit_page(...)函数的参数更新为

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

【讨论】:

  • 谢谢。你能解释一下为什么会这样吗?语法错了吗?
  • 视图函数需要一个名为 title 的参数,而您收到了一个名为 page
  • 如果有帮助,您能否对答案投票? @杰拉德-x
猜你喜欢
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 2012-02-18
  • 1970-01-01
  • 2015-02-01
相关资源
最近更新 更多