在Django中构建一个用于数据输入的快速Web界面

本教程介绍如何安装Django并利用它快速构建用于数据输入的Web界面

图像中英诺华实验室Pixabay

在本文中,我将描述一个简单的策略,用于在Django中为数据输入构建快速Web接口。本文涵盖以下主题:

  • Django的概述
  • 安装Django
  • 创建一个新项目
  • 创建一个新的应用程序
  • 创建数据库
  • 构建数据输入Web界面

1 Django概述

Django是一个Python Web框架,旨在构建快速的Web应用程序。调用Django的单个实例项目.一个项目可以包含一个或多个应用程序

Django遵循模型-模板-视图(MTV)架构。MTV不同于模型-视图-控制器(MVC)体系结构,因为控制器部分已经由框架本身通过模板实现。

Django MTV架构由以下组件组成:

  • 模型:定义逻辑数据结构。在实践中,模型是一个Python类,它代表数据库中的一个表.表示数据库逻辑结构的所有类都存储在一个名为models.py
  • 视图:它定义业务逻辑,就它与模型通信并将其转换为模板可读的格式而言。视图是一个Python函数,它接受一个请求作为输入,并返回一个Web响应作为输出.表示业务逻辑的所有函数都存储在一个名为views.py
  • 模板:它定义了一个文件的结构或布局,如HTML文件。它是通过Django模板语言编码的文本文档或Python字符串。所有模板都存储在名为模板

下图展示了Django MTV的架构,以及模型、模板和视图组件是如何相互作用的:

Django MTV架构以及组件之间如何交互
图片作者

2安装Django

首先,必须安装Django库,通过下面的命令:

pip3安装django

您可以决定将它直接安装在您的主要工作环境中,也可以安装到特定的工作环境中virtualenv这篇文章解释如何构建Pythonvirtualenv

在创建新项目之前,必须配置相关的数据库。因此,您的机器上必须有一个正在运行的关系数据库(例如MySQL或Postgres)。就我个人而言,我已经安装了MySQL服务器。因为我有一个旧装置XAMPP,我使用了它提供的MySQL服务器。在PhPMyAdmin,我创建了一个数据库叫mywebsite_db,最初是空的。Django将填充它。

为了与SQL server通信,Django需要一个用于SQL的Python驱动程序。对于MySQL,您应该安装mysqlclientPython库。

根据您的操作系统,您可能会遇到一些安装问题,特别是如果您的操作系统相当旧。就我个人而言,我在安装时遇到了一些问题mysqlclient图书馆,我通过遵循在这个链接

在下一节中,我将概述如何构建和运行Django应用程序Django官方文档

3启动一个新项目

一个单独的Django Web站点实例叫做Project。在一个项目中,您可以运行许多Web应用程序。方法可以创建一个新项目django-admin工具:

django-admin startproject mywebsite

在哪里mywebsite是项目的名称。这个命令将创建一个名为mywebsite,在运行上一个命令的文件夹中。

Django项目文件夹的结构
图片作者

的文件夹mywebsites包含两个元素:

  • jobs,这是配置的主脚本
  • 与您的项目同名的文件夹(内mywebsite).

左边的图显示了内部的内容mywebsite文件夹中。

在运行新项目之前,必须在内部配置数据库参数mywebsite / settings.py脚本,如图所示:

数据库= {
“默认”:{
“发动机”:“django.db.backends.mysql”,
“名称”:“mywebsite_db”,
“用户”:“根”,
' password ': '你的密码'

您可以运行开发Web服务器从这个文件夹中使用jobsrunserver命令:

cd mywebsite
python3 jobs runserver

4启动一个新的应用程序

在一个项目中,你可以运行任何你想要的应用程序。为了创建一个应用程序,你可以进入项目文件夹并运行以下命令:

Python3 manage.py startapp myapp

在哪里myapp为应用名称。

注意,一旦创建了一个项目,对它的所有操作都将通过jobs脚本,如startapp迁移(您将在本文后面阅读到,等等)。

如果你想激活新的应用程序,你必须将它添加到活动的应用程序列表中,包含在内部mywebsite / setting.py脚本。

INSTALLED_APPS = [
“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
#添加新的应用程序,
myapp.apps.MyappConfig

现在必须告诉Web服务器已经添加了一个新的应用程序。你可以通过迁移命令。你可以从项目的根目录启动它:

python3 jobs迁移

5创建数据库

现在环境已经准备好了。你可以专注于内容数据模型而且网站介绍

模型可以在这个文件中修改:

myapp / models.py

数据库中的每个表都对应于模型中的一个类。例如,可以很容易地将该表转换为下面的模型。

表的例子
图片作者
django.db进口模型


(models.Model):
Name = models.CharField (max_length = 64)
姓= models.CharField (max_length = 64)
生日= models.DateTimeField ()
性别= models.CharField (max_length = 1)

该模型独立于特定的SQL数据库,因此可以被Django转换成任何SQL数据库(MySQL, Postgres…)

一旦创建了模型,您必须告诉Django您已经对模型做了一些更改。这可以通过makemigrations命令,后跟迁移命令,该命令应用所有尚未应用的迁移:

Python3 manage.py makemigrationmyapp .py
python3 jobs迁移

构建数据输入Web界面

为了创建Web界面,您可以利用一个基于管理界面的Django功能。可以通过以下命令激活管理界面:

python3 jobscreatesuperuser

现在,您必须授予对所有模型类的管理访问权。可以通过编辑myapp / admin.py脚本。你应该为每个你想授予管理员访问权限的表添加一个注册选项:

django.contrib进口管理

得閒进口

admin.site.register(人)

管理界面将在以下地址可用:http://127.0.0.1:8000/admin/.它看起来像下面这个:

Django中的数据输入
图片作者

这是所有人!

总结

在本文中,我描述了如何在Django中为数据输入构建一个快速的Web接口。在环境的初始设置之后,部署Web界面非常简单,因为它可以利用Django提供的管理界面

而你呢,你会利用哪个框架来构建快速的Web接口呢?给我留言吧!我很乐意听听你的意见!

如果你走了这么远来阅读,对我来说今天已经很多了。谢谢!你可以阅读更多关于我的信息这篇文章

如果你想了解更多关于Django的工作原理,你可以阅读这个有趣的文章通过Rinu在他解释了Django MTV架构。

相关文章

离开前还有一句话:您可以下载本教程的完整代码我的Github库:)

新媒介?你可以每月订阅几美元,解锁无限的文章-点击这里

使用Medium应用程序

一个写着“在App Store下载”的按钮,点击它就会引导你进入iOS App Store
一个写着“开始吧,谷歌播放”的按钮,如果点击它,就会引导你进入谷歌播放商店
当归Lo Duca

当归Lo Duca

我写数据科学、Python、教程,偶尔写Web应用。| Comet for Data Science一书的作者

Baidu
map