为什么不将 django url 中捕获的变量作为字符串传递给视图?

Why isn't variable caught in django url being passed to view as a string?

我试图在我的 urls.py 文件中的 url 中捕获一个变量,然后将它传递给我的视图文件中的一个函数,我想在其中将其用作字符串:

# urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^posts/(?P<title>)', views.blog_ronn_post, name='blog_ronn_post'),
]

# views.py
from django.http import HttpResponse

def blog_ronn_post(request, title):
    html = "<html><body>This is the page for the blog titled: {s} </body></html>".format(title)
    return HttpResponse(html)

但是这不起作用。在我的开发浏览器中, html 出现了,但在最后一个冒号之后什么也不显示。我不认为我的 Python 3 语法有问题,就好像我尝试在格式括号中使用字符串一样,例如:

 html = "<html><body>This is the page for the blog titled: {s} </body></html>".format('Title 1')

有效,显示“...标题:标题 1”。那么为什么它不通过我的 title 字符串呢?我的理解是 title 是从 url 传递给 views 的字符串,所以应该没有问题。 django 的新手,如果我犯了一个明显的错误,我深表歉意。

因为你没有给它匹配的东西。

r'^posts/(?P<title>\w+)$'