Django快速入门一篇就够,涵盖虚拟环境搭建、增删改查、数据导入导出、分页等
前言
django是一个功能强大的pythonb Web框架,提供了丰富的插件和内置功能,如数据库管理、用户认证、表单处理和模板引擎等。它的ORM、管理界面和安全机制等,能让开发者快速搭建起功能完备的Web应用。
本篇文章带着大家从一个典型例子出发,搭建出包括增删改查、分页显示、excel导入导出等重要知识点的学生信息管理功能页面,以期帮助大家快速学习入门django。
一、安装、创建、运行django项目
Django是一个功能强大的pythonb Web框架,提供了丰富的插件和内置功能,如数据库管理、用户认证、表单处理和模板引擎等。它的ORM、管理界面和安全机制等,能让开发者快速搭建起功能完备的Web应用。
本篇文章带着大家从一个典型例子出发,搭建出包括增删改查、分页显示、excel导入导出等重要知识点的学生信息管理功能页面,以期帮助大家快速学习入门django。
1. 建议先安装PyCharm(Python IDE(集成开发环境)
PyCharm提供了专门的Django插件,安装后可以提供更多针对Django开发的功能,如Django项目模板、数据库迁移工具、管理界面等。这些功能可以帮助开发者更方便地管理和运行Django项目,同时提供了强大的调试工具,使得开发者可以更容易地找到和修复代码中的错误。这对于学习和开发Django应用来说是非常有帮助的。
PyCharm分为两个版本:社区版和专业版。社区版是免费的,适合初学者和轻量级开发需求,提供编码辅助、重构、可视化调试和版本控制集成等功能。专业版则需要付费,适合专业的Python、Web和数据科学开发,提供更多的功能,如远程配置、部署、支持流行的Web框架(如Django和Flask)、数据库支持、科学工具(包括Jupyter Notebook支持)和大数据工具。
PyCharm安装并不复杂,也不是本文重点内容。
安装教程可参考:https://blog.youkuaiyun.com/SpringJavaMyBatis/article/details/137720715
2. 建议创建虚拟环境
虚拟环境是一个独立的Python运行环境,它允许你在同一台机器上创建多个隔离的Python环境,每个环境可以有自己的Python版本和依赖包,这对于开发不同的项目或者测试不同的Python版本非常有用。
2.1创建虚拟环境:
先cd到项目目录,然后输入命令python -m venv myenv,这会在当前目录下创建一个名为myenv的虚拟环境。补充说明创建虚拟环境可以指定python版本:python3.7 -m venv xxxx,要删除虚拟环境只需删除文件夹,比如直接删除我们上面例子虚拟环境文件夹myenv即可。
2.2 激活虚拟环境:
Windows下命令:myenv\Scripts\activate
Linux/macOS下命令:source myenv/bin/activate
然后就可以在虚拟环境中pip安装各种所需的包,命令行输入生成requirements.txt文件,今后根据此文件可进行环境安装
pip freeze > requirements.txt # 生成配置文件
pip install -r requirements.txt # 根据配置文件安装环境
3.安装Django
使用以下命令来安装Django:pip install django,如果是通过设置了虚拟环境,请先cd到虚拟环境再安装。
安装完成后,你可以通过以下命令检查Django的版本:
python -m django –version
4.创建一个Django项目
命令行操作:先cd到项目文件夹,然后输入命令:django-admin startproject myproject
创建项目后,您的目录结构应该如下所示:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
这些文件和目录的作用如下:
• manage.py:一个命令行工具,允许您以各种方式与Django项目进行交互。
• myproject/:项目的Python包目录,其中包含了项目的配置和应用程序。
• init.py:一个空文件,告诉Python这个目录应该被视为一个Python包。
• settings.py:Django项目的配置文件,包含了数据库配置、静态文件路径、模板路径等设置。
• urls.py:定义了项目的URL路由,即客户端访问时由哪个模块进行响应。
• asgi.py和wsgi.py:分别是用于ASGI和WSGI兼容的Web服务器的入口文件。
5.运行项目
命令行输入:python manage.py runserver 启动项目显示如下:
如果已经安装PyCharm,则可选择新建的django项目myproject调用PyCharm自带终端来运行上述命令。默认情况下,服务器将运行在
http://127.0.0.1:8000/
可以在浏览器中访问这个地址,看到Django的默认欢迎页面。
二、django项目的增删改查功能开发
Django的MTV架构是一种设计模式,它将Web应用程序分为三个主要部分:模型(Model)、模板(Template)和视图(View),这种架构类似于传统的MVC(Model-View-Controller)模式,本文按照django经典的MTV模式进行开发和讲解。
1.开发前准备
1.1 创建应用app
cd到刚才项目目录myproject下,命令行输入:django-admin startapp stums,生成一个app应用stums学生管理,同时可以在app目录下,新建templates文件夹存放html文件,此时整个项目结构如下:
新增部分:
stums/:应用程序的目录,包含模型、视图、模板等,具体如下。
migrations/:包含数据库迁移相关的文件。
admin.py:包含管理后台的配置。
models.py:包含应用程序的模型定义。
views.py:包含视图函数的定义。
templates/:包含HTML模板文件。
其他文件:init.py、apps.py、tests.py等。
当然这只是一个基本的Django项目结构示例,可以根据需要进行扩展。
1.2 项目settings配置
(1)在settings.py配置文件中添加应用:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'stums', #添加应用
]
(2)添加数据库连接(以本地mysql为例):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stums',
'USER': 'root',
'PASSWORD': '密码',#替换数据库密码
'HOST': '127.0.0.1',
'PORT': 3306
}
}
1.3 stums/model.py数据模型构建
为方便Student类模型只有两项内容,学号和姓名
class Student(models.Model):
student_no = models.CharField(max_length=32, unique=True)
student_name = models.CharField(max_length=32)
1.4、生成和迁移数据结构
(1)创建好models后可在项目目录命令行输入:python manage.py makemigrations,生成数据迁移文件;
(2)在数据库中创建数据库(已安装mysql并配置好环境),命令行输入:
CREATE DATABASE IF NOT EXISTS stums CHARACTER SET utf8 COLLATE utf8_general_ci;
(3)迁移数据结构,项目目录命令行输入:python manage.py migrate
数据库及表结构生成如下:
2.学生信息列表展示主页功能开发
2.1 开发前端Template
在Template文件夹下新建student文件夹,之后关于学生信息管理功能html页面都在其下面,新建index.html,主要展示数据列表数据和集成增删改查功能链接,具体如下:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生列表</title>
</head>
<body>
<form action="../stums" style="margin: 10px 0">
<input name="student_name" placeholder="请输入姓名" value="{
{ student_name }}" style="margin-right: 10px"/>
<input name="student_no" placeholder="请输入学号" value="{
{ student_no }}" style="margin-right: 10px"/>
<button type="submit">查询</button