Python Web实战:Python+Django+MySQL实现基于Web版的增删改查
以下是一个简化的示例,展示了如何在Django框架中使用MySQL数据库实现一个简单的增删改查功能。
首先,确保你已经安装了Django和MySQL的Python库,例如mysqlclient
。
- 创建一个新的Django项目和应用:
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
- 配置
settings.py
以使用MySQL数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mydatabasepassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
INSTALLED_APPS = [
# ...
'myapp',
]
- 定义模型(
models.py
):
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
- 创建数据库表:
python manage.py makemigrations
python manage.py migrate
- 在
views.py
中实现增删改查的逻辑:
from django.shortcuts import render
from .models import MyModel
# 创建
def create(request):
MyModel.objects.create(name='New Item', description='This is a new item')
return redirect('/')
# 读取
def read(request):
items = MyModel.objects.all()
return render(request, 'myapp/items.html', {'items': items})
# 更新
def update(request, id):
item = MyModel.objects.get(pk=id)
item.name = 'Updated Name'
item.save()
return redirect('/')
# 删除
def delete(request, id):
item = MyModel.objects.get(pk=id)
item.delete()
return redirect('/')
- 创建对应的URLs(
urls.py
):
from django.urls import path
from .views import create, read, update, delete
urlpatterns = [
path('create/', create, name='create'),
path('', read, name='read'),
path('update/<int:id>/', update, name='update'),
path('delete/<int:id>/', delete, name='delete'),
]
- 创建HTML模板(
items.html
):
<!DOCTYPE html>
<html>
<head>
<title>Items</title>
</head>
<body>
<h1>Items</h1>
<a href="{% url 'create' %}">Create New</a>
<ul>
{% for item in items %}
<li>
{{ item.name }} -
<a href="{% url 'update' item.id %}">Edit</a> |
<a href="{% url 'delete' item.id %}">Delete</a>
</li>
{% empty %}
<li>No items found.</li>
{% endfor %}
</ul>
</body>
</html>
确保你已经创建了数据库mydatabase
,并且用户mydatabaseuser
有足够的权限。
以上代码提供了一个简单的Web界面,用于对MySQL数据库中的记录执行增删改查操作。这个例子主要用于教学目的,实际应用中需要考
评论已关闭