我想要创建一个午餐数据库,《EP1-1》是关于学习Django的初级阶段

想制作一个Web应用

这就是为什么我打算学习Python的Django的原因。
Django是Python的一个Web框架。
不太清楚框架是什么东西,但官方网站上写着“Django使得更快地、更少代码地构建更好的Web应用程序变得更容易。”,所以大概就是这种东西吧。
据说著名的网站YouTube、Dropbox和Instagram也都是用Django构建的。
太厉害了、、、

请注意:本文是关于“尝试Django官方项目教程”的文章。

(注:本文共分为四篇文章。与官方教程相关如下:
准备工作进入教程之前~第一篇教程
本文
第一篇至第三篇教程
想要创建午餐数据库【EP1-2】初学Django篇
第三篇至第五篇教程
想要创建午餐数据库【EP1-3】初学Django篇
第五篇至第七篇教程
想要创建午餐数据库【EP1-4】初学Django篇)

建立环境

不管怎样,首先要从环境构建开始

    • Pythonを用意します

 

    • Djangoを入れます

 

    適当なテキストエディタを入れておきます

如果能做到以下三点,我认为就能够开始使用Django了。
就我个人而言,我使用的是Windows10 1909版本。

    • Anaconda-1.7.2

 

    • Django-3.0.8

 

    Visual Studio Code-1.47.2

我已经准备好了。以下是我在设置时参考的链接。

参考链接:
快速掌握Django的第一部分
Django官方文档-教程
Python环境搭建(Anaconda + VSCode)@ Windows10【2020年1月版】

第一步

我安装了Django后,接下来建立了虚拟环境。
虽然这样或许能理解,但进展非常缓慢,还请谅解。

由于在构建虚拟环境方面,关于pyenv和venv的文章较多,所以在这次使用Anaconda构建时,我有些困惑。
Anaconda的GUI非常易于使用,实际上可以完全不用输入命令就可以构建虚拟环境。
因此,对于初学者来说可能更容易上手。
以下是AnacondaNavigator中的设置界面。

2020-07-30_LI.jpg
2020-07-30 (1)_LI.jpg
2020-07-30 (2)_LI.jpg

让我们开始一个项目

一旦创建了虚拟环境后,可以通过AnacondaPrompt启动虚拟环境,进入工作目录并创建项目。

(base)C:\User>conda activate Django
(Django)C:\User>django-admin startproject mysite

通过这个命令,将会创建一个名为”mysite”的文件夹,并在其中自动生成一个类似于项目入门套件的代码。

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

由于教程中已经有完全相同的解释,所以详细内容将省略,但基本操作由manage.py管理,urls.py负责网站内的路由设置。
更详细的文章请参阅⇒ 分解 Django-django(框架)的工作原理【逐层解释】。

首先,让我们尝试启动Web服务器吧!

(Django)C:\User\mysite>python manage.py runserver

我成功地搭建了服务器。
对于了解的人来说,他们会明白我在这里搭建的只是开发服务器,也就是所谓的试用版。
实际上,我会安装Apache等来运作。

2020-08-01.png

制作一个民意调查的应用程序。

在教程中,我们将进入创建投票应用程序的过程。
首先,我们将创建应用程序的模板。

(Django)C:\User\mysite>python startapp polls

在这里以名为”polls”的目录中创建了,并且已经包含了构建应用程序的基本脚本。

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

这个名为views.py的脚本负责页面的外观。
现在,我们来稍微修改一下views.py,以改变页面的外观。

我将使用Vscode从这里开始进行编辑。

我在VS Code中安装了插件,使其支持日语化和Python扩展功能。最近这受到了很多关注,所以我尝试了Pylance插件。

2020-08-02 (1)_LI.jpg

我們將在views.py中添加以下腳本。


from django.http import HttpResponse

def index(request):
#適当な言葉を入れました
    return HttpResponse("こんにちは!")

教程和返回的HttpResponse内容是不同的,但在这里我们只是展示一条消息,所以我随意填入了喜欢的内容。

为了显示这个函数,需要在urls.py中进行路由设置。
※在此设置的是位于polls目录中的urls.py。由于在mysite目录中也有urls.py,所以请小心。在这里我们将在深层目录的urls.py中编写。

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

调用`views.py`并将`views.index`的路径添加到`urlpatterns`列表中。
仅仅这样是无法调用`views.index`的。
还需要在`mysite/urls.py`中指示到`polls`的路由。

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

管理员原本就包含在内。
添加了对polls的路径。
include是一个必要的函数,用于将操作传递到较低级的urls.py文件。
但是admin.site.urls是一个例外。
这样就可以通过127.0.0.1:8000/polls调用views.index了。

关于URL调度参考->学习Django(1)

2020-08-02 (3).png

虽然感觉相当寂寞,但是既然遵循了代码的响应,感觉还行。

数据库设置

在`mysite/setting.py`文件中进行数据库配置。Python很幸运地内置了SQLite这个小型数据库。这也展示了Python电池附带的哲学。

(Django) C:\User\mysite>python manage.py migrate

创建数据库表已经完成。虽然过程过于简单,令人惊讶,但这也是Django的好处之一吧。
如果要使用除SQLite以外的数据库,则需要在setting.py中进行额外的配置。

创建模型

我們將創建一個核心模型來開發投票應用程序。

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

通过查看代码,可以看出我们定义了两个类Question和Choice作为models.Model类的子类。
此外,我们还为属性设置了Field。
对于Field,我还没有完全理解。我会继续努力。
models.ForeignKey是用于获取外键的函数。对不起,我的解释比较粗糙。

开启模式

创建模型后,接下来需要在setting.py文件中对模型进行激活,使其能够被引用。

INSTALLED_APPS = [
    'polls.apps.PollsConfig', #この行を追加
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

请问polls.apps.PollsConfig是什么?就是这个↓

from django.apps import AppConfig

#これを呼んでいます。
class PollsConfig(AppConfig):
    name = 'polls'

完成setting.py的设置之后

(Django) C:\User\mysite>python manage.py makemigrations polls

通过执行”makemigrations <应用程序名称>”,可以保存模型的更改。似乎以后可以使用”migrate”来进行相关操作。

因为变得很长了,所以我想在这里结束一次。
非常感谢。
如果发现错误,将会适时修正。

下次计划⇒我想要创建午餐数据库【EP1-2】初次学习Django篇

bannerAds