2017-02-13 126 views
0

這是我的第一個django項目,我努力完成它。 我一直在努力工作,編輯帖子。當用戶點擊按鈕時,它會發送該文章的no(int),並獲取與no相關的信息並在頁面上顯示。用戶可以用相同的形式編輯該帖子,當用戶點擊提交時,它將重定向到home.htmlDjango 1.10:視圖函數()只需要2個參數(1給出)

但是,我做的函數一直向我發送一條錯誤消息,即使我沒有使用任何函數這需要2個參數。

這裏是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) 

這是形式detail.html哪裏發送沒有價值edit_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> 
+0

不過...。那顯然功能*不*兩個參數。 –

回答

1

article_no ARG不會奇蹟般地找到進入該功能通過POST提交調用。您需要將其提供給url標籤:

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

這是假設,當然,你有這個看法/視圖名稱相關聯的適當命名組URL模式。

0

如果你在談論這個功能,它收到一個以上的精氨酸,它臨危你所談論的不是,並請求對象

def edit_article(request, article_no): 
... 
0

如果您認爲需要的參數,你必須提供的參數在url templatetag,像這樣:

{%URL賬戶:detail_account「用戶名=用戶名%}

相關問題