入門
現在、市場にはほとんどチュートリアルのDjango 3.0はとても将来の参照のために独自の文書、分析やメモによると、そこにあります。そして、重要な点は、学習のために、記録されます理解しています。
最初のストロークは再び、シンプルなエントリーチュートリアルです
https://docs.djangoproject.com/zh-hans/3.0/intro/tutorial01/
環境
Windowsの/ pycharm / Pythonの3.7 / Djangoの3.0
あなたの最初のDjangoアプリケーションを書く、パート1
プロジェクトの作成
まず、Djangoの3.0をインストールした文書によると、プロジェクトはpycharmで直接作成することができます
あなたは、プロジェクト構造を見ることができます
manage.py さまざまな方法プロジェクト管理Djangoのコマンドラインツール
my_tryは、 私たちがどこのURLを参照したい場合は、のように記述しなければならない、純粋なPythonパッケージである my_try.urls
__init__.py Pythonパッケージとして表さ空のファイル、
asgi.py 設定asgi
settings.py の構成(設定)ファイル
urls.py あなたのサイトの「ディレクトリ」と、声明DjangoプロジェクトのURLを
swgi.py プロジェクトが入学WSGIに準拠したWebサーバー上で実行するように
開発のためのシンプルなサーバー
成功を作成するかどうかを確認します
直接pycharmでmanage.pyを実行することができます
また、コマンドラインを使用することができます
py manage.py runserver
このページへの成功である小型のロケットを、見ました
文書のヒントについて:
你刚刚启动的是 Django 自带的用于开发的简易服务器,
它是一个用纯 Python 写的轻量级的 Web 服务器。
我们将这个服务器内置在 Django 中是为了让你能快速的开发出想要的东西,
因为你不需要进行配置生产级别的服务器(比如 Apache)方面的工作,
除非你已经准备好投入生产环境了。
现在是个提醒你的好时机:
千万不要 将这个服务器用于和生产环境相关的任何地方。
这个服务器只是为了开发而设计的。
(我们在 Web 框架方面是专家,在 Web 服务器方面并不是。)
投票アプリケーションを作成します。
プロジェクトとアプリケーションは おおよそプロジェクトが構成やアプリケーション固有のサイトの集合体であるとして、このプロジェクトは、(一般的に)複数のプログラムを含むことが理解できます
命令行创建应用:
py manage.py startapp polls
startapp即为开始一个程序,polls为应用名
这个目录结构包括了投票应用的全部内容
编写第一个视图
创建视图
打开polls/views.py
代码(可看文档):
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("hello !")
index定义了一个视图,为request子类
Django使用request和response对象在系统间传递状态。
当一个页面被请示时,Django创建一个包含请求元数据的 HttpRequest 对象。然后Django调入合适的视图,把 HttpRequest 作为视图的函数的第一个参数传入。每个视图要负责返回一个 HttpResponse 对象。
上述的view,我们需要将一个 URL 映射到它
创建应用URL
在polls里创建一个urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index(), name='index'),
]
下一步是要在根 URLconf 文件中指定我们创建的 polls.urls
模块
加入项目URL
my_try/urls.py
在urlpatterns里增加一个include()
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
函数 include() 允许引用其它 URLconfs。
每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,
并将剩余的字符串发送到 URLconf 以供进一步处理。
所以,当我们在网址中为 polls 时,在my_try/urls.py中发现了polls/,又发现了include(),截断将剩下部分发送到polls的urlconf中(即include中的polls.urls),剩下部分为'',所以匹配到view.index()
即此处的外层的URL确定应用(polls),polls的URL确定视图
我们看到my_try/urls.py里还有一个
path('admin/', admin.site.urls),
我们尝试输入一下
可以看到时Django提供的一个管理后台
path函数
函数 path()
具有四个参数,两个必须参数:route
和 view
,两个可选参数:kwargs
和 name
route 一个匹配 URL 的准则(类似正则表达式),当 Django 响应一个请求时,它会从 urlpatterns
的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项
view 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest
对象作为第一个参数
name 为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。