使用Python进行Web应用开发03(使用Django显示Hello World!)
之前的文章:选择Web应用开发的开发服务器环境至启动Django的Python开发
上次在本地环境中创建了Django项目,并确认了服务器能够启动。
这次在已创建的项目中创建了一个新的应用程序,确认了能够以最小的配置显示页面。
在Django项目中,可以管理多个应用程序。
您不需要每次开发新的Web应用程序时都创建一个新项目,而是可以通过在项目中添加应用程序来进行开发。
在项目目录下使用”python manage.py startapp <应用名称>”创建一个应用程序,并使用”tree”命令确认目录结构。
你可以在项目目录的根目录下找到一个以<应用名称>为名的新目录,并确认其中包含了一整套的文件。
$ python manage.py startapp myHelloWorld
$ tree
.
├── db.sqlite3
├── manage.py
├── myDjangoPrj01
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── settings.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── wsgi.cpython-36.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── myHelloWorld
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
4 directories, 17 files
- 余談: 自分の場合何か試しでファイルやディレクトリを作成する場合myxxxというようにmyをつけるクセがあります。プログラムが自動的に生成したものか、自分が名前を指定して生成されたものかあとから見て区別をするためです。自分のニックネームなどをつけてもいいかもしれません。あとからファイルやディレクトリを整理するときに役立ったりします。
在这些文件中,需要编辑的文件来显示Hello World的是以下3个文件。
(myHelloWorld是应用程序名称,myDjangoPrj01是项目名称)
-
- myHelloWorld/views.py
-
- myDjangoPrj01/settings.py
- myDjangoPrj01/urls.py
当使用tree命令显示层次结构时,在要编辑的文件中输入”←请编辑这个!!”,结果如下所示。
$ tree
.
├── db.sqlite3
├── manage.py
├── myDjangoPrj01
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── settings.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── wsgi.cpython-36.pyc
│ ├── settings.py ←これを編集!!
│ ├── urls.py ←これを編集!!
│ └── wsgi.py
└── myHelloWorld
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-36.pyc
│ ├── admin.cpython-36.pyc
│ ├── models.cpython-36.pyc
│ └── views.cpython-36.pyc
├── admin.py
├── apps.py
├── migrations
│ ├── __init__.py
│ └── __pycache__
│ └── __init__.cpython-36.pyc
├── models.py
├── tests.py
├── views.py ←これを編集!!
6 directories, 22 files
首先编辑views.py文件。
中文翻译:
from django.shortcuts import render
# Create your views here.
更改之后:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def myFunk(req):
return HttpResponse('My Hello, World!')
在代码中导入HttpResponse,然后编写返回HttpResponse的字符串的内容。
接下来,在项目目录下存在与项目名称相同的文件夹,需要编辑该文件夹下的myDjangoPrj01/settings.py。
在中国以母语进行改述的原文(从第33行开始):
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
更改之后
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myHelloWorld'
]
添加应用程序名称。
接下来,编辑项目下的myDjangoPrj01/urls.py文件。
请用中国母语进行改写,只需要一种选择:
原文:
urlpatterns = [
path('admin/', admin.site.urls),
]
更改后:
import myHelloWorld.views
urlpatterns = [
path('admin/', admin.site.urls),
path('myHelloWorld/', myHelloWorld.views.myFunk),
]
我HelloWorld是应用程序的名称,而myFunk是在views.py中添加的函数的名称。
编辑完上述的三个文件后,访问服务器上的URL,在浏览器中确认是否显示”My Hello, World !!”。
- http://127.0.0.1:8000/myHelloWorld/
顺便提一下,通过修改myDjangoPrj01/urls.py文件,可以更改URL。
import myHelloWorld.views
urlpatterns = [
path('admin/', admin.site.urls),
path('myHelloWorldxxx/', myHelloWorld.views.myFunk),
]
- http://127.0.0.1:8000/myHelloWorldxxx/
从这句话可以看出myHelloWorldxxx指定了URL的目录层次结构,而myHelloWorld.views.myFunk表示目录路径实体。
下面的文章:Python开发Web应用04(在Django中显示Hello World之后要做的事 – 将变量设定为HTML模板)