我尝试做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指南》第二部分。

广告
将在 10 秒后关闭
bannerAds