我尝试做DJANGO入门教程,第一篇
首先
我完成了Django官方教程,但接下来我在考虑做什么。
于是我决定继续阅读《Django for Beginners》这本書,我曾在某个地方看到此书的介绍。
略过第一章的安装设置和第二章的类似Hello World的部分。
第三章:Pages 应用程序
使用View和Template制作一个简单的应用程序。
在本章中,不涉及Model。
项目创建
在合适的地方创建项目
% mkdir pages
% django-admin startproject pages_project .
页面应用程序的识别
为了使Pages App被识别,需要在settings.py中加入以下配置。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pages.apps.PagesConfig', # 追加
]
确认是否已经认识。
% python manage.py runserver
如果通过浏览器连接到http://127.0.0.1:8000/ 并显示页面,则表示正常。
创建模板
为了改变页面的外观,需要按以下结构创建templates文件夹和html文件。
pages
|- templates
|- home.html
根据公式教程的描述,将路径添加到模板中。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # templatesのパスを追加する
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
先写入要显示的内容到HTML中。
暂时只需要一行。
<h1> Pages App !! </h1>
只是这样做不会改变任何显示,所以需要创建一个视图。
创建视图
在创建项目时编辑view.py。
这次我们使用了类视图的TemplateView。
关于类视图是什么,可以参考以下文章。
Django中类视图的入门和使用示例。
from django.shortcuts import render
from django.views.generic import TemplateView
# Create your views here.
class HomePageView(TemplateView):
template_name = 'home.html'
为了将View和Template连接起来,下一步是编辑URLs。
编辑URLs
首先需要编辑已经存在的urls.py文件。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')), # サーバー接続時にpages/urls.pyをみるようになる
]
需要为应用程序创建urls.py文件,因此需要创建pages/urls.py。
from django.urls import path
from .views import HomePageView # View Classのimport
urlpatterns = [
path('', HomePageView.as_view(), name='home'), # これでサーバー接続時にViewClassで指定したtemplateが表示されるようになる
]
重新运行服务器,并连接到 http://127.0.0.1:8000/ 进行确认。
增加关于页面
按照添加home.html的步骤,同样创建about.html并添加View,URLs。省略步骤,仅列出结果。
模板
pages
|- templates
|- home.html
|- about.html
观看
from django.shortcuts import render
from django.views.generic import TemplateView
# Create your views here.
class HomePageView(TemplateView):
template_name = 'home.html'
class AboutPageView(TemplateView):
template_name = 'about.html'
网址
from django.urls import path
from .views import HomePageView # View Classのimport
urlpatterns = [
path('', HomePageView.as_view(), name='home'),
path('about/', AboutPageView.as_view(), name='about'),
]
只要最后显示以下链接连接并创建的html页面,就表示成功! http://127.0.0.1:8000/about/
续集
尝试来学习《初学者的Django指南》第二部分。