Python 使用函数中断Django views.py中的嵌套循环
我有一个嵌套循环,我想打破它。搜索此站点后,最好的做法似乎是将嵌套循环放入函数中,然后使用return来打破它。在views.py文件中包含非视图的函数是否可以接受?此功能位置的最佳做法是什么?下面是myviews.py中的示例代码Python 使用函数中断Django views.py中的嵌套循环,python,django,loops,django-views,Python,Django,Loops,Django Views,我有一个嵌套循环,我想打破它。搜索此站点后,最好的做法似乎是将嵌套循环放入函数中,然后使用return来打破它。在views.py文件中包含非视图的函数是否可以接受?此功能位置的最佳做法是什么?下面是myviews.py中的示例代码 @login_required def save_bookmark(request): if request.method == 'POST': form = BookmarkSaveForm(request.POST) if
@login_required
def save_bookmark(request):
if request.method == 'POST':
form = BookmarkSaveForm(request.POST)
if form.is_valid():
bookmark_list = Bookmark.objects.all()
for bookmark in bookmark_list:
for link in bookmark.link_set.all():
if link.url == form.cleaned_data['url']:
# Do something.
break
else:
# Do something else.
else:
form = BookmarkSaveForm()
return render_to_response('save_bookmark_form.html', {'form': form})
对。在
views.py
中有不是视图的函数是可以的(我一直都这样做)。如果该功能仅在该模块内使用(即通过该views.py
中的视图使用),或仅通过单个视图功能使用,则这尤其合适
如果你担心把它暴露在外面的世界里,你总是可以让它成为一个秘密。另外,尽量避免给它一个名为
request
的参数,我倾向于在阅读代码时下意识地解析将请求作为查看函数的函数。是。在views.py
中有不是视图的函数是可以的(我一直都这样做)。如果该功能仅在该模块内使用(即通过该views.py
中的视图使用),或仅通过单个视图功能使用,则这尤其合适
如果你担心把它暴露在外面的世界里,你总是可以让它成为一个秘密。另外,尽量避免给它一个名为
request
的参数,我倾向于在阅读代码时下意识地解析将请求作为视图函数的函数。你不应该认为Django视图有任何特殊之处它只是Python。因此,您可以在views.py中使用您喜欢的任何函数。唯一的限制是视图本身必须接受请求对象并返回HttpResponse
的子类。除此之外,您可以在该模块中执行您喜欢的操作,包括拥有视图使用的函数、类或常量
如果你有很多实用功能,你可以考虑在程序目录中把它们提取到例如代码< LIB .Py <代码>中,以便于整洁。但是,如果您只有一两个视图,就没有必要这样做。
您不应该认为Django视图有任何特殊之处它只是Python。因此,您可以在views.py中使用您喜欢的任何函数。唯一的限制是视图本身必须接受请求对象并返回HttpResponse
的子类。除此之外,您可以在该模块中执行您喜欢的操作,包括拥有视图使用的函数、类或常量
如果你有很多实用功能,你可以考虑在程序目录中把它们提取到例如代码< LIB .Py <代码>中,以便于整洁。但是如果你只有一两个,就没有必要这么做