初学者在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

哦,原来你们在这里!

继续。

广告
将在 10 秒后关闭
bannerAds