使用Django框架完成用户的增删改查操作

使用Django框架完成用户的增删改查操作,需要按照以下步骤进行:

  1. 创建Django项目:
    在命令行中进入项目目录,执行以下命令创建一个新的Django项目:

    django-admin startproject projectname

其中projectname是你的项目名称。

  1. 创建应用:
    在项目目录下执行以下命令创建一个新的应用:

    python manage.py startapp appname

其中appname是你的应用名称。

  1. 配置数据库:

    在项目的settings.py文件中设置数据库连接。默认使用的是SQLite数据库,你可以根据需要修改为其他数据库,比如MySQL。

  2. 创建用户模型:

    在应用的models.py文件中定义用户模型,例如:

python 复制代码
from django.db import models

class User(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()
    age = models.IntegerField()
  1. 迁移数据库:
    在命令行中执行以下命令,将用户模型迁移到数据库中:

    python manage.py makemigrations
    python manage.py migrate

  2. 创建用户视图:
    在应用的views.py文件中定义用户的增删改查视图,例如:

python 复制代码
from django.shortcuts import render, get_object_or_404, redirect
from .models import User

def user_list(request):
    users = User.objects.all()
    return render(request, 'user_list.html', {'users': users})

def user_detail(request, pk):
    user = get_object_or_404(User, pk=pk)
    return render(request, 'user_detail.html', {'user': user})

def user_create(request):
    if request.method == 'POST':
        name = request.POST['name']
        email = request.POST['email']
        age = request.POST['age']
        user = User.objects.create(name=name, email=email, age=age)
        return redirect('user_detail', pk=user.pk)
    return render(request, 'user_create.html')

def user_update(request, pk):
    user = get_object_or_404(User, pk=pk)
    if request.method == 'POST':
        user.name = request.POST['name']
        user.email = request.POST['email']
        user.age = request.POST['age']
        user.save()
        return redirect('user_detail', pk=user.pk)
    return render(request, 'user_update.html', {'user': user})

def user_delete(request, pk):
    user = get_object_or_404(User, pk=pk)
    user.delete()
    return redirect('user_list')
  1. 创建用户模板:
    在项目的templates目录下创建相关的HTML模板文件,例如:
    user_list.html:
html 复制代码
{% for user in users %}
    <p>{{ user.name }}</p>
    <p>{{ user.email }}</p>
    <p>{{ user.age }}</p>
    <a href="{% url 'user_detail' pk=user.pk %}">Detail</a>
    <a href="{% url 'user_update' pk=user.pk %}">Update</a>
    <a href="{% url 'user_delete' pk=user.pk %}">Delete</a>
{% endfor %}

user_detail.html:

html 复制代码
<p>{{ user.name }}</p>
<p>{{ user.email }}</p>
<p>{{ user.age }}</p>
<a href="{% url 'user_update' pk=user.pk %}">Update</a>
<a href="{% url 'user_delete' pk=user.pk %}">Delete</a>

user_create.html:

html 复制代码
<form method="post">
    {% csrf_token %}
    <input type="text" name="name">
    <input type="email" name="email">
    <input type="number" name="age">
    <button type="submit">Create</button>
</form>

user_update.html:

html 复制代码
<form method="post">
    {% csrf_token %}
    <input type="text" name="name" value="{{ user.name }}">
    <input type="email" name="email" value="{{ user.email }}">
    <input type="number" name="age" value="{{ user.age }}">
    <button type="submit">Update</button>
</form>
  1. 配置URL:
    在应用的urls.py文件中设置URL路由,例如:
python 复制代码
from django.urls import path
from . import views

urlpatterns = [
    path('', views.user_list, name='user_list'),
    path('create/', views.user_create, name='user_create'),
    path('<int:pk>/', views.user_detail, name='user_detail'),
    path('<int:pk>/update/', views.user_update, name='user_update'),
    path('<int:pk>/delete/', views.user_delete, name='user_delete'),
]
  1. 运行项目:
    在命令行中执行以下命令,启动Django开发服务器:

    python manage.py runserver

现在你可以通过访问http://localhost:8000/来查看用户列表,并进行增删改查操作。

相关推荐
穿过锁扣的风13 分钟前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
l1t14 分钟前
DeepSeek总结的SNKV — 无查询处理器的 SQLite 键值存储
数据库·sqlite·kvstore
洛豳枭薰17 分钟前
MySQL 梳理
数据库·mysql
码界筑梦坊19 分钟前
327-基于Django的兰州空气质量大数据可视化分析系统
python·信息可视化·数据分析·django·毕业设计·数据可视化
九.九35 分钟前
CANN 算子生态的底层安全与驱动依赖:固件校验与算子安全边界的强化
大数据·数据库·安全
蓝帆傲亦39 分钟前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
亓才孓43 分钟前
[JDBC]事务
java·开发语言·数据库
PD我是你的真爱粉1 小时前
FastAPI使用tortoiseORM
数据库·fastapi
剩下了什么8 小时前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥9 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器