下面是“Python+Django+MySQL实现基于Web版的增删改查的示例代码”的完整攻略。
第一步:安装环境和工具
首先,我们需要安装Python、Django和MySQL。具体步骤如下:
-
安装Python。Python的官网https://www.python.org/提供了下载和安装说明。安装完毕后,需要添加Python的执行路径到系统环境变量中。
-
安装Django。可以通过pip命令进行安装。在命令行中执行以下命令:
pip install Django
- 安装MySQL。可以从官网https://dev.mysql.com/downloads/mysql/下载并安装。安装完毕后需要创建一个数据库,并创建一个用户名和密码以及相应的权限。
第二步:创建Django项目和应用
- 在命令行中执行以下命令创建一个Django项目:
django-admin startproject myproject
- 在命令行中进入项目目录,并执行以下命令创建一个Django应用:
python manage.py startapp myapp
第三步:设置数据库连接
进入项目的settings.py
文件,修改DATABASES
配置信息:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_database_username',
'PASSWORD': 'your_database_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
第四步:创建数据模型
在应用的models.py文件中定义数据模型:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
email = models.EmailField()
第五步:生成数据库表
在命令行中执行以下命令,生成数据库表:
python manage.py makemigrations
python manage.py migrate
第六步:创建视图
在应用的views.py文件中定义视图函数:
from django.shortcuts import render
from .models import User
def index(request):
users = User.objects.all()
return render(request, 'index.html', {'users': users})
第七步:创建模板
在应用中创建templates
目录,然后在目录中创建一个index.html
文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>User list</title>
</head>
<body>
<table>
<tr>
<th>Name</th>
<th>Age</th>
<th>Email</th>
</tr>
{% for user in users %}
<tr>
<td>{{ user.name }}</td>
<td>{{ user.age }}</td>
<td>{{ user.email }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
第八步:创建URL路由
在应用的urls.py文件中定义URL路由:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
示例
下面给出两个示例说明:
示例1:添加数据
在应用的views.py文件中定义视图函数:
from django.shortcuts import render
from django.http import HttpResponseRedirect
from .models import User
from .forms import UserForm
def add_user(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
User.objects.create(name=form.cleaned_data['name'], age=form.cleaned_data['age'], email=form.cleaned_data['email'])
return HttpResponseRedirect('/')
else:
form = UserForm()
return render(request, 'add_user.html', {'form': form})
在应用的urls.py文件中定义URL路由:
from django.urls import path
from . import views
urlpatterns = [
path('add-user/', views.add_user, name='add_user'),
]
在应用中创建forms.py
文件:
from django import forms
class UserForm(forms.Form):
name = forms.CharField(max_length=50)
age = forms.IntegerField()
email = forms.EmailField()
在应用中创建add_user.html
文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Add User</title>
</head>
<body>
<h1>Add User</h1>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
</body>
</html>
示例2:删除数据
在应用的views.py文件中定义视图函数:
from django.shortcuts import render
from django.http import HttpResponseRedirect
from .models import User
def delete_user(request, user_id):
user = User.objects.get(id=user_id)
user.delete()
return HttpResponseRedirect('/')
在应用的urls.py文件中定义URL路由:
from django.urls import path
from . import views
urlpatterns = [
path('delete-user/<int:user_id>/', views.delete_user, name='delete_user'),
]
在模板文件中添加删除数据的表单:
<tr>
<td>{{ user.name }}</td>
<td>{{ user.age }}</td>
<td>{{ user.email }}</td>
<td>
<form action="{% url 'delete_user' user.id %}" method="POST">
{% csrf_token %}
<button type="submit">Delete</button>
</form>
</td>
</tr>
以上就是Python+Django+MySQL实现基于Web版的增删改查的示例代码的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python+Django+MySQL实现基于Web版的增删改查的示例代码 - Python技术站