gpt4 book ai didi

django - Django View 的命名约定?

转载 作者:行者123 更新时间:2023-12-01 23:09:42 24 4
gpt4 key购买 nike

我正在构建一个网站(在 Django 中),但对用于我的函数的正确命名约定感到困惑。简单的示例:假设我有一个页面,让用户决定是否要查看图像 A 还是图像 B。用户提交决定后,网站将显示用户请求的图像。

以下是我的 View 模块中的两个函数:

def function1(request):
"""Returns the page that presents the user with the choice between A and B"""

def function2(request):
"""Takes in the submitted form and returns a page with the image the user requested."""

执行此操作的函数的命名约定是什么?我看到至少有两种可行的方法:

选项 1:函数 1:“决定”,函数 2:“view_image”

选项 2:函数 1:“view_choices”,函数 2:“决定”

核心问题是每个函数都做两件事:(1) 处理和存储用户提交的数据,(2) 返回下一页,该页面可能与用户的输入相关,也可能无关。那么我应该以 (1) 还是 (2) 命名我的函数?

最佳答案

通常约定是某种 CRUD(创建、检索、更新、删除)。我个人使用索引、详细信息、创建、更新、删除来执行操作。但是,我认为这不适用于您的自定义函数。

确实,听起来您的函数应该合并到同一个“选择”函数中。然后,您可以显示表单或结果,具体取决于结果是否是 POST。

注意:我从 django docs on form handling 中大量复制了这个示例。 .

def choose(request):
"""
Presents the user with an image selection form and displays the result.
"""
if request.method == 'POST': # If the form has been submitted...
form = ChoiceForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ChoiceForm() # An unbound form

return render_to_response('choose.html', {
'form': form,
})

关于django - Django View 的命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/875480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com