使用以下 Django 代码,我在将 url 关键字传递给模板时遇到问题。
视图.py
def index(request,username):
return render(request,'myaccount.html')
来自 projectname 文件夹的 urls.py
urlpatterns = patterns('',
url(r'^myaccount/',include('myaccount.urls')),
)
来自 myaccount 应用程序的 urls.py
urlpatterns = patterns('',
url(r'^(?P<username>[a-zA-Z0-9]+)/$','myaccount.views.index',name='myaccount'),
)
问题是,为什么当我使用以下 html 代码时,它会显示/myaccount/Jerry/
myaccount.html
{% url 'myaccount' 'Jerry' %}
但是当我传递关键字时它显示错误?
myaccount.html
{% url 'myaccount' username %}
NoReverseMatch at /myaccount/Jerry/
Reverse for 'myaccount' with arguments '('',)' and keyword arguments '{}' not found.
当我像这样传递变量用户名时,错误得到修复:
def index(request,username):
return render(request,'myaccount.html',{'username':username})
但是,有没有更快的方法?