我使用的是Django 2.1+和python3.6+。在
在我的网址.py,我有以下网址:
url('^member/(?P<username>[\w\-]+)/$', views.Member, name='member_data'),
仅此一项工作:
然而,从这两个角度来看:
^{pr2}$从模板(注意,这是一个硬代码用户名,用于尝试获取模板的工作):
<a href="{% url 'member_data' username='cheng' %}"><i class="ion ion-person"></i>My Service Record</a>
导致错误的参数,我无法解决。像这样的, 这里的任何智慧都将不胜感激。有没有一种方法可以读取这两个链接?在
我开始的错误来自登录尝试:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/login_action/
Django Version: 2.1b1
Python Version: 3.6.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mptt',
'svcrecord']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/Users/sinistersparrow/venv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/Users/sinistersparrow/venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = self.process_exception_by_middleware(e, request)
File "/Users/sinistersparrow/venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/sinistersparrow/PycharmProjects/ifthqcom/svcrecord/views.py" in login
36. return reverse('member_data', {'username': username.username})
File "/Users/sinistersparrow/venv/lib/python3.6/site-packages/django/urls/base.py" in reverse
30. resolver = get_resolver(urlconf)
Exception Type: TypeError at /login_action/
Exception Value: unhashable type: 'dict'
这是直接转到页面时的错误:
模板似乎正在工作。还在处理这个观点。 谢谢
^{} [Django-doc]参数具有as签名:
现在当然是我们感兴趣的
kwargs
。但打电话的时候实际上,我们将dictionary传递给
urlconf
参数,这并不需要字典。在但是,我们可以将其传递给
^{pr2}$kwargs
参数,方法是将其传递给名为的参数,如:此外,需要将其包装在^{} 中,以将浏览器重定向到以下URL:
然而,Django承认
redirect(..)
也直接包含视图(名称)和参数,例如:相关问题 更多 >
编程相关推荐