初学者在Django教程中做什么并思考着什么(3)-1
前一次的概要
因为看到了部分整体的样子,觉得自己明白了情况,变得有些得意忘形,但最终还是跌倒了。原因只是简单的知识不足,几乎没有知识就开车发生了事故。虽然像乌龟一样的步伐,但一步一步地验证知识并继续前进。所以,这就是”第三次创建Django应用程序”。
URL调度器是什么?
本教程将介绍URLconf的基本使用方法。如需更详细信息,请参考URL分发器。
调度员是什么东西?上网搜索一下。
调度程序:当存在多个正在等待处理的数据或进程时,为了能够有效地处理,会进行资源分配和分配的系统或程序。
再次进行教程。
为了设计应用程序的URL,需要创建一个通常被称为URLconf(URL配置)的Python模块。
搜索了一下URLconf、url.py,糊里糊涂地读了一些资料后,我理解URL dispather = URF conf = urls.py 这些都指的是同一个东西。当说要创建一个模块时,只需在文本中输入Python代码并保存为〇〇.py即可,〇〇就是模块名的意思。
初学者即使听到用不同的名字来指称同一事物也只会感到困惑。
再度教程。
def detail(request, question_id):
return HttpResponse("You're looking at question %s." % question_id)
在这里我明白的事情。
-
- def で関数つくる
-
- detail は関数名
-
- question_id はチュートリアルその2でデータベースに設定した主キー(のはず)
- return この値を返せっていう命令
讓我煩惱的是這兩個事情
request お前誰?いつ湧いてきた?オレが勝手に名前を決めていいモノなの?__init__のselfみたいに決まったものなの?
HttpResponse お前も大文字で偉そうだよな?クラスなの?
请问 request 和 HttpResponse 是什么意思?
也许会被认为很奇怪,为什么现在才在那个地方遇到困难呢?但对于初学者来说,这是常有的事情。就算只是学会了加减法,也脱离不了菜鸟阶段。还有很多事情我们不明白也一直忽视了。我们可以去搜索一下。
Django在整个系统中使用请求和响应对象来传递处理状态。
当接收到对某个页面的请求时,Django会生成一个HttpRequest对象。该对象包含请求的元数据。然后,Django会加载适当的视图,并将HttpRequest作为视图函数的第一个参数传递。每个视图必须返回一个HttpResponse对象。
本文档将介绍HttpRequest和HttpResponse对象的API。
→ 以下是一个链接,它是关于HttpRequest的文档,可以在此网站上找到:http://djangoproject.jp/doc/ja/1.0/ref/request-response.html#httprequest
Django v1.0的文档已经发布。在当前版本中也找到了类似的描述。下面是当前版本中相关部分的引用。
Django 使用请求和响应对象通过系统传递状态。
当请求一个页面时,Django 会生成包含有关请求元数据的 HttpRequest 对象。然后,Django 将该 HttpRequest 作为视图函数的第一个参数传递,并加载相应的视图。每个视图都需要返回一个 HttpResponse 对象。
本文档描述了 HttpRequest 和 HttpResponse 对象的 API。这些对象在 django.http 模块中定义。
那个旧版本更容易理解呢。”Django通过使用请求和响应对象来处理状态传递,涵盖整个系统。”和”Django使用请求和响应对象来传递状态,贯穿整个系统。”那么我们应该选择前者。原来也是有这样的情况啊。
不不不,不是这样的。最后的描述里出现了模块。模块是什么?就是说有文件存在。一直对这个事情感到疑惑。虽然总能看到一些出现了Django的代码,比如from django.urls import path和from django.http import HttpResponse之类的,但是它的主体到底在哪里呢?这是个疑问。Django是一个Web框架,所以整个工作环境都是Django吗?我一直有些忽视,以为这是我的误解,但是看起来似乎还是有一个明确的东西存在。警察通过询问嫌疑人在哪里来寻找他们。我从中记住的就是find和locate命令。
Django在哪儿?
$ find ~/ -name django -type d
然后很顺利地发现了。(pollsdirectory/pollsvenv/这就是我给它取的名字)
~/pollsdirectory/pollsvenv/lib/python3.6/site-packages/django
(以下略)
所以,转到$ cd (缩略)/django,并进一步使用tree命令进行了查询…
django
├── __init__.py
├── __main__.py
├── __pycache__
├── apps
├── bin
├── conf
├── contrib
├── core
├── db
├── dispatch
├── forms
├── http
├── middleware
├── shortcuts.py
├── template
├── templatetags
├── test
├── urls
├── utils
└── views
哦,原来你们在这里!
继续。