我不是程序员,但我在php / mysql中写了很少的东西。所以我掌握了编程,但是我无法理解django应用程序的逻辑......而且python非常复杂!请帮我解决一下我遇到的一个问题。
我的脚本很简单,它显示随机句子。没什么特别的!
所以我: random-quotes.py - >
import random
#Random
def random_quotes (request, template_name='header.html'):
quotes = ["\"There are always two people in every picture: the photographer and the viewer.\"",
"\"My portraits are more about me than they are about the people I photograph.\" <br><span class=\"author_span_style\">~ Richard Avedon</span>"]
pick_quote = quotes[random.randint(0, len(quotes) - 1)]
return render(request, template_name, {
'random_quote': pick_quote,
})
header.html - &gt;
{{ random_quote }}
urls.py - &gt;
url(r'^$', app.random-quotes.random_quotes, name='random_quotes'),
这个网址对我来说非常奇怪。我认为它将模板调用映射到“action”文件。但细节和原因让我感到安慰!
无论如何,我使用现有django应用程序的url结构,(我正在整合小脚本)
所以,app。[random-quotes]。{random_quotes} [是文件名]和{是功能名称}
应用程序。我不确定,但我猜是指我的django应用程序中的子文件夹。我猜这将是应用程序。就像在urls.py中一样,我发现了对该文件夹中文件的引用。
由于一些奇怪的原因,脚本不起作用,它不显示任何东西......所以我猜测问题应该是第一部分r'^ $'以及我没有指定url的事实。
请帮助我理解这个概念...
答案 0 :(得分:2)
tutorial可以很好地解释这里发生的事情。
简而言之,任何与urls.py中的正则表达式匹配的URL都将映射到views.py中的指定函数。 views.py将执行任何必要的逻辑,并将加载模板(如果指定)。