【问题标题】:Want to hide error message (View)想要隐藏错误信息(查看)
【发布时间】:2012-01-09 22:01:04
【问题描述】:

我正在匹配Album Model 中的name。它工作得很好。但有时它不匹配。它会引发错误消息Album matching query does not exist。如果找不到匹配项,我想要。然后不要显示任何错误消息。可能吗?谢谢

   def movie_details(request,slug):
    movies = get_object_or_404(Movie,slug=slug)
    # calculating wikipedia directory structer for images
    #image_name = movies.image
    name = movies.title
    album_name = Album.objects.get(name__exact=name)
    album_id = album_name.id
    song_list = Song.objects.filter(album=album_id)
    #image_path = generateWikiImage(image_name)
    #
    return render_to_response('base_movies.html',locals(),
                              context_instance=RequestContext(request)
                              )

错误信息

Album matching query does not exist

更新:

def movie_details(request,slug):
movies = get_object_or_404(Movie,slug=slug)
# calculating wikipedia directory structer for images
#image_name = movies.image
name = movies.title
try:
    album_name = Album.objects.get(name__exact=name)
    album_id = album_name.id
    song_list = Song.objects.filter(album=album_id)
except:
    pass

感谢 F.C.

【问题讨论】:

  • 只需使用tryexcept 捕获异常

标签: django


【解决方案1】:

正如上面评论中所建议的,您需要捕获引发的异常。在你的情况下,它会是:

try:
    album_name = Album.objects.get(name__exact=name)
except Album.DoesNotExist:
    pass

如果您想将album_name 设置为某个默认值(如果找不到),请将pass 替换为将其设置为默认值的代码。

This StackOverflow post 也处理类似的问题。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 2014-05-05
    • 2013-09-11
    相关资源
    最近更新 更多