使用Django展示HTML
Django教程的应用程序创建部分(1)[配置数据库和在浏览器中打开]的继续。
使用模板将HTML显示在浏览器上
请在Django教程的应用创建(1)[进行数据库设置并在浏览器打开]之后进行操作。
树状结构
mysite
├── __init__.py
├── __pycache__
├── settings.py
├── templates
│ └── hello.html
├── urls.py
├── views.py
└── wsgi.py
设置.py文件的修改
在第33行左右的INSTALLED_APPS中,按照以下方式添加’helloworld’。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
]
创建templates目录
我会在mysite的根目录下创建一个名为templates的文件夹。
对于我来说,
在这个文件夹中创建我想要展示的HTML文件。
作为一个例子,我们将尝试显示”Hello, World”。
<html>
<head>
<meta charset="utf-8">
<title>Hello, World !!</title>
</head>
<body>
<h1 class="hello">Hello, World !!</h1>
</body>
</html>
更改 views.py
请将views.py更改如下。
from django.views.generic import TemplateView
from django.shortcuts import render
class IndexTemplateView(TemplateView):
template_name = "hello.html"
def get(self, request):
return render(request, self.template_name)
请更改urls.py文件
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
# views.pyが置いてある場所を指定
from hello.views import IndexTemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('', IndexTemplateView.as_view()),
]
如果能够做到这一点,请在终端中运行以下代码。
$ python3 manage.py runserver
当你点击以下URL时
http://127.0.0.1:8000/

这会显示为这样。 (Zhè huì .)
2. 在views.py中写入文字并在浏览器中显示。
请在创建Django教程应用程序(1)[配置数据库并在浏览器中打开]之后进行操作。
树形结构
我的网站
├── db.sqlite3
├── hello
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
└── manage.py
这是views.py的修改。
请按以下方式进行修改。
from django.http import HttpResponse
def hello_world(req):
return HttpResponse('Hello, World!')
更改 urls.py 文件
请按照以下方式进行更改。
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
# views.pyが置いてある場所を指定
from hello.views import hello_world
urlpatterns = [
path('admin/', admin.site.urls),
path('views_hello/', hello_world),
]
如果你已经做到了这一步,请在终端中运行以下代码。
$ python3 manage.py runserver
当然,只需要提供一个选项:
当您访问以下URL时
http://127.0.0.1:8000/views_hello/

在中文中,可以这样表述: “以这种方式显示。”