【问题标题】:url parameter for django url pattern is not passed properlydjango url 模式的 url 参数未正确传递
【发布时间】:2020-09-19 10:14:00
【问题描述】:

错误传递的参数发生错误

是不是动作设置错了? url参数是否设置错误? 和 page_user : {{page_user}} category_id : {{category_num}} 打印正常 我不确定是不是视图有问题。

如果你知道什么是共振谢谢你告诉我

代码:

<form method="post" action={% url "wm:new_comment_for_skilpage" user_name=page_user category_id=category_num %}>{% csrf_token %}
..
</form>

网址格式是这样的

path('new_comment_for_skilpage/<str:user_name>/<int:category_id>/' , views.new_comment_for_skilpage, name="new_comment_for_skilpage"),

观点是这样的

def new_comment_for_skilpage(request, pk):

    user_name = request.GET.get('user_name')

    category_id = request.GET.get('category_id')



    if request.method == 'POST':

        comment_form = CommentForm(request.POST)

        if comment_form.is_valid():

            comment = comment_form.save(commit=False)

            comment.author = user_name

            comment.category_id = category_id

            comment.save()

            return redirect('/wm/myshortcut/'+user_name+"/"+category_id)

    else:

        return redirect('/wm/myshortcut/'+user_name+"/"+category_id)

错误:

TypeError: new_comment_for_skilpage() got an unexpected keyword argument 'user_name'

【问题讨论】:

  • 似乎没有真正的键名为user_name
  • {{page_user}} category_id : {{category_num}} 打印正常 请告诉我如何解决?

标签: django url


【解决方案1】:
def new_comment_for_skilpage(request, user_name, category_id):

    user_name = request.GET.get('user_name')

    category_id = request.GET.get('category_id')



    if request.method == 'POST':

        comment_form = CommentForm(request.POST)

        if comment_form.is_valid():

            comment = comment_form.save(commit=False)

            comment.author = user_name

            comment.category_id = category_id

            comment.save()

            return redirect('/wm/myshortcut/'+user_name+"/"+category_id)

    else:

        return redirect('/wm/myshortcut/'+user_name+"/"+category_id)

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 2014-03-22
    • 2021-01-05
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2021-09-12
    相关资源
    最近更新 更多