Django 如何使用 return HttpResponse 的多行

Django how to use multiple lines with return HttpResponse

我几天前才开始使用 Django,除了 java 之外,我对任何语言都没有太多经验,所以 Python 有点学习曲线。我设法创建了一个网页,每次刷新它时都会生成一个随机数,并告诉你它是否是第一名。

问题在于在单个页面上使用多行。我不想让页面看起来像那样,而是希望它垂直格式化,如下所示:

n = random.randint(1, 2)  # returns a random integer
if n == 1:
    query = "The number is One."
else:
    query = "The number Is'nt One."
return HttpResponse(str('Randomly generated number: ') + str(n) + str("   ") + str(query))

我注意到的一件事是 "return HttpResponse" 之后的所有代码都未使用,例如,如果我将 "if" 和 "else" 语句移动到 HttpResponse 之后,它将是标记为未使用代码,不会出现在最终产品上。

只需在需要分隔线的地方使用 <br/>。当浏览器发现 <br/> 更改行时。

n = random.randint(1, 2)  # returns a random integer
if n == 1:
    query = "The number is one."
else:
    query = "The number isn't one."
return HttpResponse('Random Number Generator <br/> The random number is: ') + str(n) + "<br/>" + query)

我认为最好的解决方案是设置 content_type="text/plain":

n = random.randint(1, 2)  # returns a random integer
if n == 1:
    query = "The number is One."
else:
    query = "The number Isn't One."
output_string = "Randomly generated number: \n The random number is: " + str(n) + "\n" + query
return HttpResponse(output_string, content_type="text/plain")

HttpResponse 的默认内容类型是 text/html (docs),因此使用 <br> 可以。但是,这实际上会创建一个无效的 HTML 页面。因此,对于如此简单的输出,我认为 text/plain 是最好的选择。

进一步了解 Python 和 Django。 HttpResponse 是一种在视图中完成输出的快速而肮脏的方式。您可以了解如何为此使用模板,您可以在以下位置阅读:

https://docs.djangoproject.com/en/1.9/intro/tutorial03/

并为您的流程使用模板。