数据输入
在Django中构建一个用于数据输入的快速Web界面
本教程介绍如何安装Django并利用它快速构建用于数据输入的Web界面
在本文中,我将描述一个简单的策略,用于在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的架构,以及模型、模板和视图组件是如何相互作用的:
2安装Django
首先,必须安装Django库,通过下面的命令:
pip3安装django
您可以决定将它直接安装在您的主要工作环境中,也可以安装到特定的工作环境中virtualenv
.这篇文章解释如何构建Pythonvirtualenv
.
在创建新项目之前,必须配置相关的数据库。因此,您的机器上必须有一个正在运行的关系数据库(例如MySQL或Postgres)。就我个人而言,我已经安装了MySQL服务器。因为我有一个旧装置XAMPP,我使用了它提供的MySQL服务器。在PhPMyAdmin,我创建了一个数据库叫mywebsite_db,最初是空的。Django将填充它。
为了与SQL server通信,Django需要一个用于SQL的Python驱动程序。对于MySQL,您应该安装mysqlclient
Python库。
根据您的操作系统,您可能会遇到一些安装问题,特别是如果您的操作系统相当旧。就我个人而言,我在安装时遇到了一些问题mysqlclient
图书馆,我通过遵循在这个链接.
在下一节中,我将概述如何构建和运行Django应用程序Django官方文档.
3启动一个新项目
一个单独的Django Web站点实例叫做Project。在一个项目中,您可以运行许多Web应用程序。方法可以创建一个新项目django-admin工具:
django-admin startproject mywebsite
在哪里mywebsite是项目的名称。这个命令将创建一个名为mywebsite,在运行上一个命令的文件夹中。
的文件夹mywebsites包含两个元素:
jobs
,这是配置的主脚本- 与您的项目同名的文件夹(内mywebsite).
左边的图显示了内部的内容mywebsite文件夹中。
在运行新项目之前,必须在内部配置数据库参数mywebsite / settings.py
脚本,如图所示:
数据库= {
“默认”:{
“发动机”:“django.db.backends.mysql”,
“名称”:“mywebsite_db”,
“用户”:“根”,
' password ': '你的密码'
}
}
您可以运行开发Web服务器从这个文件夹中使用jobs和runserver
命令:
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中为数据输入构建一个快速的Web接口。在环境的初始设置之后,部署Web界面非常简单,因为它可以利用Django提供的管理界面.
而你呢,你会利用哪个框架来构建快速的Web接口呢?给我留言吧!我很乐意听听你的意见!
如果你走了这么远来阅读,对我来说今天已经很多了。谢谢!你可以阅读更多关于我的信息这篇文章.
如果你想了解更多关于Django的工作原理,你可以阅读这个有趣的文章通过Rinu在他解释了Django MTV架构。
相关文章
离开前还有一句话:您可以下载本教程的完整代码从我的Github库:)