2016-05-31 10 views
0

私はPythonに戻ってきましたが、0.9.x Pinaxインストールで構文エラーが発生する箇所が少なくとも1つあります。私がここでやろうとしているのは、ユーザーがすべてのブログエントリを見ることを可能にする機能を提供するデフォルトのオプションのフィルタリングの上に、または特定のユーザのすべてのブログエントリのすべてをフィルタリングする追加のレイヤーを追加することです。このPython構文エラーはどこにありますか?

別のファイルcustom.pyでは、別の方法でフィルタリングすることを目的としたthreshold_check()があります。 Django Userと、ブログ投稿を含むいくつかのタイプのオブジェクトのうちの1つの2つの引数をとり、trueまたはfalseを返すかどうか、その項目を含めるかどうかを指定します。

私が持っているコードは、私には正しいように見えますが、Djangoはでallowed_blogsを移入リスト内包の2行目にSyntaxErrorを報告している:私が間違っているのは何

def blogs(request, username=None, template_name="blog/blogs.html"): 
    blogs = Post.objects.filter(status=2).select_related(depth=1).order_by("-publish") 
    if username is not None: 
     user = get_object_or_404(User, username=username.lower()) 
     blogs = blogs.filter(author=user) 
    allowed_blogs = [blog in blogs.objects.all() if 
     custom.threshold_check(request.user, blog)] 
    return render_to_response(template_name, { 
     "blogs": allowed_blogs, 
    }, context_instance=RequestContext(request))

、と私は何が必要なのですか参照されたcustom.threshold_check()allowed_blogsリストに含まれるPinaxブログのオブジェクトを承認または拒否できるようにするにはどうすればよいですか?

TIAは、

答えて

4
[blog in blogs.objects.all() if 
    custom.threshold_check(request.user, blog)] 

これは有効なPythonではありません。おそらく、あなたは意味:

[blog for blog in blogs.objects.all() if 
    custom.threshold_check(request.user, blog)] 
+0

ありがとうございました。あなたは私が望むものを正しく識別しました。 – JonathanHayward

関連する問題