让我们总结一下使用Python框架Django和Bottle来实现Hello World的流程
我想要复习一下之前学过的一些内容。这次我打算复习一下使用Django和Bottle实现Hello World的过程。
让我们总结一下在Django这个Python框架中实现“Hello World!”的步骤。
django可以通过命令提示符创建模板。
命令是可以的
py -m django startproject 任意の名前
您可以从这里下载模板。
tree ディレクトリ名 /f
在命令行中检查目录结构。
│ manage.py
│
└─djangotest
settings.py
urls.py
wsgi.py
__init__.py
这是django的基本模板。
首先打开settings.py。
LANGUAGE_CODE的默认值是英语,现在将其更改为’ja’。
TIME_ZONE设置为Asia/Tokyo!一旦完成了这些步骤,我们可以创建一个应用程序来实际执行Hello World。
在manage.py所在的目录中完成这一步骤。
└─djangotest │ manage.py
py manage.py startapp 任意のアプリ名
当你执行这个Django应用程序的模板时,将创建一个用于输出helloworld的模板。
再次检查目录结构……
└─djangotest
│ manage.py
│
├─djangotest
│ │ settings.py
│ │ urls.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ └─__pycache__
│ settings.cpython-37.pyc
│ __init__.cpython-37.pyc
│
└─helloworld
│ admin.py
│ apps.py
│ models.py
│ tests.py
│ views.py
│ __init__.py
│
└─migrations
__init__.py
你好世界,看起来下面已经添加了哦。(这次我们把应用程序命名为helloworld)
创建应用程序后,必须在settings.py中进行识别。
在settings.py的以下部分中进行识别。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
'helloworld.apps.HelloworldConfig',
请在「helloworld」的位置填入你创建的应用程序名称。
我只是将其设置为「helloworld」而已,并没有其他不同。
请确保大小写正确。
文件是用来创建应用程序访问的URL的。
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
在这样的地方写着这样的事情
from django.urls import path, include←includeを追加
path('アプリをアクセスさせたいURL名', include('作成したアプリケーション名).urls')),
请写下来。
就我而言,就像这样。
path('helloworld', include('helloworld.urls')),
但实际上,应用程序方面也需要创建urls.py。
└─djangotest
│ manage.py
│
├─djangotest
│ │ settings.py
│ │ urls.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ └─__pycache__
│ settings.cpython-37.pyc
│ __init__.cpython-37.pyc
│
└─helloworld
│ admin.py
│ apps.py
│ models.py
│ tests.py
│ views.py
│ __init__.py
│
└─migrations
__init__.py
让我们在helloworld目录下添加一个名为urls.py的文件。
首先, 在urls.py中添加以下内容。
from django.urls import path
from . import views
只有写上 from django.urls import path,才能在url上通行。
另外,from . import views是为了将来可以在views.py中引用这个urls的内容所写的。
接下来在这里添加内容。
app_name = 'アプリケーション名'
urlpatterns = [
path('', viewsで作成する関数名.html, name='任意の名前'),
让我们按照这样的方式进行描述。
现在我们来编写一个用于执行helloworld的函数在views.py中。
from django.http import HttpResponse
def 先ほど指定した関数(request):
return HttpResponse("Hello World!")
然后,在命令提示符中切换到py manage.py所在的目录。
py manage.py runserver
因为会以这样的感觉出现
You have 14 unapplied migration(s). Your project may not work properly until you
apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 18, 2019 - 16:25:27
Django version 2.0.2, using settings 'djangotest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
http://127.0.0.1:8000/
打开这个URL。
由于应该会出现页面找不到的错误信息,所以请使用urls来指定。
from django.urls import path, include←includeを追加
path('アプリをアクセスさせたいURL名', include('作成したアプリケーション名).urls')),
想让应用程序访问的URL名称是!请在http://127.0.0.1:8000/的后面进行追加。
当访问此URL时,会显示“Hello World!”。
顺便提一下。
app_name = 'アプリケーション名'
urlpatterns = [
path('', viewsで作成する関数名.html, name='任意の名前'),
在应用程序中提供的URL。
path('/hogeee/', viewsで作成する関数名.html, name='任意の名前'),
如果设定为这样,URL 就会是 http://127.0.0.1:8000/任意的URL名/hogeee/
因为很有可能成为这样的情况,所以试试看吧。
让我们总结一下使用Python框架bottle来实现Hello World的流程。
接下来是关于bottle的部分。
Bottle有像Django一样在命令行中创建模板的功能吗?
由于我还不会,所以我会直接创建文件。
请创建一个任意的目录,并在其中创建一个Python文件。
我是这样做的。
└─helloworld
helloworld.py
太少了!!!!!!!!!!!!
Bottle是最輕量級的Python框架。
我在helloworld.py中這樣寫。
from bottle import route, run
@route('/helloworld')
def helloworld():
return 'Hello World!'
run(host='localhost', port=8080, debug=True)
从瓶子中引入路由和运行。
from bottle import route, run
@route('/helloworld')
在中文的网络应用中,路由(route)扮演着刚才那个urls.py的功能。它负责构建URL地址。
在这下面是一个函数。
def helloworld():
return 'Hello World!'
这是Django中的views.py文件的函数部分。
最终一次
run(host='localhost', port=8080, debug=True)
运行 “manage.py” 就相当于在 Django 中运行这部分。
在 “helloworld.py” 内存放了本地服务器,因此可以通过命令提示符在命令行中运行。
py helloworld.py
假设服务器启动,
在浏览器输入URL后,将输出Hello World命令。
Bottle可以使用一个文件创建应用程序,因此很方便,但相应地,其扩展性不如Django,所以最好根据自己想要开发的内容进行选择和使用。