2017-08-05 81 views
0

我想添加评论到我的项目,我有这个错误:feeds() missing 1 required positional argument: 'id'。这是我的代码。Django - 类型错误在饲料()缺少1需要的位置参数:'ID'

views.py

@login_required 
def feeds(request, id): 
    feeds_list = Feed.objects.all() 
    feed = get_object_or_404(Feed, id=id) 
    users = User.objects.filter(is_active=True) 

    if request.method == 'POST': 
     # Komentarz został opublikowany. 
     feed_form = FeedForm(request.POST) 
     if feed_form.is_valid(): 
      # Utworzenie obiektu Comment, ale jeszcze nie zapisujemy go w bazie danych. 
      new_feed = feed_form.save(commit=False) 
      new_feed.user = request.user 
      new_feed.date = timezone.now 
      # Zapisanie komentarza w bazie danych. 
      new_feed.save() 
    else: 
     feed_form = FeedForm() 

    context = {'section': feeds, 
       'users': users, 
       'feeds_list': feeds_list, 
       'feed_form': feed_form} 
    return render(request, 'feed/list.html', context) 

我认为这是这里的问题:feed = get_object_or_404(Feed, id=id),但我不知道如何解决它。

感谢您的帮助。

编辑: urls.py

from django.contrib.auth.urls import url 
from . import views 

app_name = 'feedApp' 
urlpatterns = [ 
    url(r'^$', views.feeds, name='feeds'), 
    url(r'^feed/new$', views.post_new, name='post_new'), 
    url(r'^feed/(?P<id>[0-9]+)/$', views.feed, name='post_detail'), 
    # url(r'^feed/(?P<id>[0-9]+)/comment$', 
    #  views.comment_feed, 
    #  name='comment_feed'), 
    url(r'^feed/(?P<id>[0-9]+)/delete/$', 
     views.feed_delete, 
     name='feed_delete'), 
] 
+0

贴'urls.py' –

+0

feeds'预计,鉴于''id'存在于网址。您的端点应该是这样的 - localhost:8000/

+0

如果在完全错误跟踪后发生错误 – badiya

回答

1

根据您的urls您需要添加所需的参数id它。 编辑您的网址:

url(r'^(?P<id>[0-9]+)$', views.feeds, name='feeds'), 
+0

谢谢。它正在工作 – jestembotem

0

您还没有views.feeds URL中使用 'ID' 作为关键字ARGS。 添加url(r'^feed/(?P<id>[0-9]+)/$', views.feeds,),

+1

您的答案中的网址适用于其他某些功能'views.feed'。它已经在url中有'id'参数。 – badiya

相关问题