Python+Django+MySQL实现基于Web版的增删改查的示例代

在Web开发中,实现基本的增删改查是必备的操作,Python和Django结合可以轻松实现Web版的增删改查。本文将介绍如何使用Python、Django和MySQL实现Web版的增删改查。

一、环境搭建

在开始编写代码之前,我们需要先搭建好环境。首先,我们需要安装Python、Django和MySQL。

1. Python安装

在Python官网(https://www.python.org/downloads/)下载安装包,双击安装包进行安装。安装完成后,打开命令行窗口,输入python,如果能进入Python交互环境,则说明Python已经成功安装。

2. Django安装

使用pip命令安装Django。在命令行窗口中输入以下命令:

pip install django

如果安装失败,可以尝试指定Django的版本号进行安装。例如,安装Django 2.0.1版本,可以使用以下命令:

pip install django==2.0.1

3. MySQL安装

MySQL是一个关系型数据库管理系统,我们可以使用它来存储数据。在MySQL官网(https://www.mysql.com/downloads/)下载安装包,双击安装包进行安装。安装完成后,在命令行窗口中输入以下命令:

mysql -u root -p

输入密码后,即可进入MySQL交互环境。如果出现以下信息,则说明MySQL已经成功安装:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.7.18-log MySQL Community Server (GPL)

二、创建Django项目和应用

在安装好环境后,我们可以开始创建Django项目和应用。

1. 创建Django项目

在命令行窗口中输入以下命令,创建一个名为example的Django项目:

django-admin startproject example

其中,example是项目的名称。

2. 创建Django应用

在命令行窗口中进入example目录,输入以下命令,创建一个名为blog的Django应用:

python manage.py startapp blog

其中,blog是应用的名称。

三、配置MySQL数据库

在使用MySQL存储数据之前,我们需要先配置MySQL数据库。

1. 创建数据库

在MySQL交互环境中输入以下命令,创建一个名为example的数据库:

CREATE DATABASE example CHARACTER SET utf8 COLLATE utf8_general_ci;

2. 配置Django

在Django项目的settings.py文件中,找到DATABASES配置项,将其修改为以下内容:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'example',

'USER': 'root',

'PASSWORD': '123456',

'HOST': 'localhost',

'PORT': '3306',

}

}

其中,NAME为数据库名称,USER为数据库用户名,PASSWORD为数据库密码,HOST为数据库主机地址,PORT为数据库端口号。

四、编写模型和视图

在配置好MySQL数据库后,我们可以开始编写模型和视图。

1. 编写模型

在Django应用的models.py文件中,定义一个名为Article的模型,用于存储文章的标题和内容:

from django.db import models

class Article(models.Model):

title = models.CharField(max_length=50)

content = models.TextField()

def __str__(self):

return self.title

其中,title为CharField类型,最大长度为50,content为TextField类型。

2. 编写视图

在Django应用的views.py文件中,定义一个名为index的视图,用于展示文章列表:

from django.shortcuts import render

from .models import Article

def index(request):

articles = Article.objects.all()

return render(request, 'index.html', {'articles': articles})

其中,index函数获取所有文章对象并传递给模板。

五、编写模板

在Django应用的templates目录中,创建一个名为index.html的模板文件,用于展示文章列表:

{% extends 'base.html' %}

{% block content %}

{% for article in articles %}

{{ article.title }}

{{ article.content }}

{% endfor %}

{% endblock %}

其中,for循环遍历所有文章对象,展示文章标题和内容。

六、运行项目

在完成以上步骤后,我们可以运行Django项目并访问文章列表。

在命令行窗口中进入example目录,输入以下命令:

python manage.py runserver

然后,在浏览器中访问http://127.0.0.1:8000/,即可看到文章列表。

七、实现增删改查功能

在展示文章列表的基础上,我们可以继续实现增删改查功能。具体实现方式如下:

1. 增加文章

在Django应用的views.py文件中,定义一个名为add的视图,用于增加文章:

from django.shortcuts import render, redirect

from .models import Article

from .forms import ArticleForm

def add(request):

if request.method == 'POST':

form = ArticleForm(request.POST)

if form.is_valid():

form.save()

return redirect('index')

else:

form = ArticleForm()

return render(request, 'add.html', {'form': form})

其中,add函数使用ArticleForm表单创建Article对象并保存到数据库。

在Django应用的forms.py文件中,定义一个名为ArticleForm的表单,对文章标题和内容进行输入:

from django import forms

from .models import Article

class ArticleForm(forms.ModelForm):

class Meta:

model = Article

fields = [

'title',

'content',

]

在Django应用的urls.py文件中,定义一个名为add的URL,指向add视图:

from django.urls import path

from . import views

urlpatterns = [

path('', views.index, name='index'),

path('add/', views.add, name='add'),

]

在Django应用的templates目录中,创建一个名为add.html的模板文件,用于添加文章:

{% extends 'base.html' %}

{% block content %}

{% csrf_token %}

{{ form.as_p }}

{% endblock %}

其中,form.as_p用于以标签形式显示表单。

2. 删除文章

在Django应用的views.py文件中,定义一个名为delete的视图,用于删除文章:

from django.shortcuts import render, get_object_or_404, redirect

from .models import Article

def delete(request, pk):

article = get_object_or_404(Article, pk=pk)

article.delete()

return redirect('index')

其中,delete函数使用get_object_or_404函数获取文章对象并删除。

在Django应用的urls.py文件中,定义一个名为delete的URL,指向delete视图:

from django.urls import path

from . import views

urlpatterns = [

path('', views.index, name='index'),

path('add/', views.add, name='add'),

path('delete//', views.delete, name='delete'),

]

在Django应用的templates目录中,在展示文章列表的for循环中添加删除按钮:

{% for article in articles %}

{{ article.title }}

{{ article.content }}

{% csrf_token %}

{% endfor %}

其中,action指向delete视图。

3. 修改文章

在Django应用的views.py文件中,定义一个名为edit的视图,用于修改文章:

from django.shortcuts import render, get_object_or_404, redirect

from .models import Article

from .forms import ArticleForm

def edit(request, pk):

article = get_object_or_404(Article, pk=pk)

if request.method == 'POST':

form = ArticleForm(request.POST, instance=article)

if form.is_valid():

form.save()

return redirect('index')

else:

form = ArticleForm(instance=article)

return render(request, 'edit.html', {'form': form})

其中,edit函数使用ArticleForm表单更新Article对象。

在Django应用的urls.py文件中,定义一个名为edit的URL,指向edit视图:

from django.urls import path

from . import views

urlpatterns = [

path('', views.index, name='index'),

path('add/', views.add, name='add'),

path('delete//', views.delete, name='delete'),

path('edit//', views.edit, name='edit'),

]

在Django应用的templates目录中,创建一个名为edit.html的模板文件,用于修改文章:

{% extends 'base.html' %}

{% block content %}

{% csrf_token %}

{{ form.as_p }}

{% endblock %}

其中,form.as_p用于以标签形式显示表单。

在Django应用的templates目录中,在展示文章列表的for循环中添加编辑按钮:

{% for article in articles %}

{{ article.title }}

{{ article.content }}

{% csrf_token %}

{% csrf_token %}

{% endfor %}

其中,action指向edit视图。

八、小结

本文介绍了如何使用Python、Django和MySQL实现Web版的增删改查。通过简单的模型和视图的编写,结合Django提供的ORM技术和表单技术,我们可以轻松实现基本的增删改查操作。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签