用Django开发网络服务

首先

这篇文章是关于我开发使用Django框架的Web应用程序时的笔记。

對於選擇 Django 的原因

首先,我希望开发一个C到C的Web应用程序,并根据以下语言和框架的观点进行选择。

    • 人気がある

 

    • 将来性がある

 

    簡単

最后选择了Ruby和Python,但由于Python在机器学习方面更强大,而且相比于”Ruby on Rails”来说,”Django”更易于理解,因此决定使用Django来开发。

有关Django

Django的文档很完善,可以通过完成以下链接中的教程来全面学习。

环境

$ python --version
Python 3.7.0

这一次的进展

在创建网络服务的过程中,将遇到的问题分几次记录下来。
本次记录包括从安装Django到简单页面的展示。

    1. Django安装

 

    1. 项目创建

 

    1. 数据库创建

 

    1. 启动开发服务器

 

    1. 应用创建

 

    1. 视图、URL创建

 

    页面显示

1. 安装Django

使用以下命令安装Django。

$ pip install django

2019年12月,Django发布了3.0版本。这次使用了最新版而没有指定特定版本。

$ pip show django
Name: Django
Version: 3.0.7

2. 创建项目

使用”startproject [项目名称]”命令创建项目。这次我们以”mysite”为项目名称。

$ django-admin startproject mysite

创建项目后将生成以下文件。

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

3. 创建数据库

在创建项目时会生成一个名为”settings.py”的文件用来配置数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

默认情况下,使用的是SQLite3,但也支持MySQL、Oracle和PostgreSQL。只需更改此处的设置,就可以更改使用的数据库。本次将选择默认的”SQLite3″数据库。

在项目目录(mysite)中切换到创建表,然后执行迁移命令。

$ python manage.py migrate

稍后将进行描述,Django可以通过创建模型并执行以下命令来在数据库中创建表格。
– python manage.py makemigrations
– python manage.py migrate

4. 启动开发服务器

在这里,可以确认Django是否启动。
Django有一个启动开发服务器的命令,通过执行该命令可以在不需要准备web服务器的情况下进行测试。

$ python manage.py runserver

如果在浏览器中访问“http://127.0.0.1:8000/”,并显示以下页面,则表示成功。

image.png

创建应用程序

本项目创建一个名为”polls”的应用程序(功能)。

$ python manage.py startapp polls

创建应用程序后,将创建以下文件。

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

6. 创建视图和 URL

首先,为了显示简单的界面,需要编辑视图(view)和URL。与django教程相同。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
from django.contrib import admin
from django.urls import include, path

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

通过这个,当显示polls/时,将调用polls/view.py中的index并将其内容显示在屏幕上。

画面表现

再次启动开发服务器。

$ python manage.py runserver
image.png

结束 (Jieshu)

下一步是创建模型和引入引导程序。

广告
将在 10 秒后关闭
bannerAds