python - 错误 - TypeError 在 django 中得到了一个意外的关键字参数 'name'

标签 python django

我收到错误-

search_user() got an unexpected keyword argument 'name'

我的views.py(相关部分)-

    elif 'search_user' in post:
                user = post['user']
                return redirect('search',user)

def search_user(request, user):
    u = user_profile.objects.filter(username = user).first()
    return render(request, 'wall/search_user_page.html', {'user': u, 'username': user})

我的 urls.py(相关部分)-

url(r'^search_user/(?P<name>\w+)/$', views.search_user, name = 'search'),

和我的模板 -

<input type="text" class="form-control" name="user"/>
                    <button type="submit" name="search_user" class="btn btn-primary btn-default" style="vertical-align: middle">
                        Search
                    </button>

基本上我正在接受输入,提交它并从我的数据库中搜索它但是当我点击“搜索”按钮时我得到了错误。

请帮我解决这个问题。

提前致谢。

最佳答案

如果您在 url 中使用命名参数,那么 View 的参数应该具有相同的名称。

因此将 url 更改为:

url(r'^search_user/(?P<user>\w+)/$', views.search_user, name='search'),

或者将您的 View 签名更改为:

def search_user(request, name):
   ...

关于python - 错误 - TypeError 在 django 中得到了一个意外的关键字参数 'name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28807713/

相关文章:

django - 如何向管理员注册多个模型?

Django ImageField 图像不显示

python - 字符串比较 '1111' < '99' 为真

python - 分配给 slice 有什么意义?

Python ctypes 和包装 c++ std :wstring

python - 无法在 Django Rest Framework View 集中的模型方法中显示带注释的查询集

python - 使用 Django 查询 Neo4j 数据库

Python:openssl 段错误

python - 如何使用 python xmlrpclib 为 RPC 调用发送自定义 http_headers?

python - Django 最佳实践——在执行业务逻辑时保证原子性