Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django 1.10:view function()只接受2个参数(给定1个)_Python_Django - Fatal编程技术网

Python Django 1.10:view function()只接受2个参数(给定1个)

Python Django 1.10:view function()只接受2个参数(给定1个),python,django,Python,Django,这是我的第一个django项目,我正在努力完成它。 我一直在为那篇编辑文章工作。当用户单击该按钮时,它将发送该文章的no(int),并获取与no相关的信息并显示在页面上。用户可以在相同的表单中编辑该帖子,当用户单击“提交”时,它将重定向到home.html 但是,我创建的函数不断向我发送一条错误消息,指出它需要两个参数,即使我没有使用任何需要两个参数的函数 这里是views.py @login_required def edit_article(request, article_no): art

这是我的第一个django项目,我正在努力完成它。 我一直在为那篇编辑文章工作。当用户单击该按钮时,它将发送该文章的no(int),并获取与no相关的信息并显示在页面上。用户可以在相同的表单中编辑该帖子,当用户单击“提交”时,它将重定向到home.html

但是,我创建的函数不断向我发送一条错误消息,指出它需要两个参数,即使我没有使用任何需要两个参数的函数

这里是views.py

@login_required
def edit_article(request, article_no):
article = Article.objects.filter(pk=article_no)
form = ArticleForm(request.POST, instance=request.article)
if form.is_valid():
    form.save()
    messages.add_message(request, messages.SUCCESS, _('Article correctly saved.'))
    # If the save was successful, redirect to another page
    redirect_url = reverse('blog/home.html')
    return HttpResponseRedirect(redirect_url)

else:
    form = ArticleForm(instance=request.article)

return (request, {'form': form}, context)
这是form in detail.html,其中不发送任何值来编辑\u article.html

 <form action="{% url 'blog:edit_article' %}" method="post" style="display: inline;">
   {% csrf_token %}
    <input type="hidden" name="no" value="{{ item.no }}" />
    <button type="submit">edit></button>
  </form>

{%csrf_令牌%}
编辑>

第条arg不会通过POST submit神奇地进入函数调用。您需要将其提供给
url
标记:

{% url 'blog:edit_article' item.no %}

当然,这假设您有一个url模式,其中包含与此视图/视图名称关联的适当命名组。

如果您正在谈论此函数,它确实会接收多个参数,它会接收您正在谈论的“否”和请求对象

def edit_article(request, article_no):
...

如果视图需要参数,则必须在url templatetag中提供参数,如下所示:

{%url'帐户:详细信息\u帐户'username=username%}

但是。。。这个函数显然有两个参数。