Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

django增删改查项目


Django 的增删改查(CRUD)项目,并提供详细的代码实现和说明:

步骤 1:创建一个新的 Django 项目和一个新的应用程序

打开终端或命令提示符,执行以下命令:

# 创建一个新的 Django 项目
django-admin startproject book_management_project

# 切换到项目目录
cd book_management_project

# 在项目中创建一个新的应用程序
python manage.py startapp books

步骤 2:定义模型

打开 books/models.py 文件,定义 Book 模型:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=100)
    publication_date = models.DateField()

    def __str__(self):
        return self.title

步骤 3:设置数据库并创建表格

运行以下命令来创建必要的数据库表格:

python manage.py makemigrations
python manage.py migrate

步骤 4:创建用于 CRUD 操作的视图

打开 books/views.py 文件,定义用于 CRUD 操作的视图:

from django.shortcuts import render, redirect, get_object_or_404
from .models import Book
from .forms import BookForm

def book_list(request):
    books = Book.objects.all()
    return render(request, 'books/book_list.html', {'books': books})

def add_book(request):
    if request.method == 'POST':
        form = BookForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('book_list')
    else:
        form = BookForm()
    return render(request, 'books/add_book.html', {'form': form})

def edit_book(request, pk):
    book = get_object_or_404(Book, pk=pk)
    if request.method == 'POST':
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            form.save()
            return redirect('book_list')
    else:
        form = BookForm(instance=book)
    return render(request, 'books/edit_book.html', {'form': form})

def delete_book(request, pk):
    book = get_object_or_404(Book, pk=pk)
    if request.method == 'POST':
        book.delete()
        return redirect('book_list')
    return render(request, 'books/delete_book.html', {'book': book})

步骤 5:创建用于添加/编辑图书的表单

books 应用程序目录中创建一个名为 forms.py 的新文件,并定义 BookForm

from django import forms
from .models import Book

class BookForm(forms.ModelForm):
    class Meta:
        model = Book
        fields = ['title', 'author', 'publication_date']

步骤 6:创建用于渲染视图的模板

books 应用程序目录中创建一个名为 templates 的新文件夹。在该文件夹中,创建三个新的 HTML 文件: book_list.htmladd_book.htmledit_book.htmldelete_book.html

book_list.html :

<!DOCTYPE html>
<html>
<head>
    <title>图书列表</title>
</head>
<body>
    <h1>图书列表</h1>

        {% for book in books %}*   {{ book.title }} - {{ book.author }} ({{ book.publication_date }})
    <a href="{% url 'add_book' %}">添加图书</a>
</body>
</html>

add_book.html :

<!DOCTYPE html>
<html>
<head>
    <title>添加图书</title>
</head>
<body>
    <h1>添加图书</h1>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="保存">
    </form>
</body>
</html>

edit_book.html :

<!DOCTYPE html>
<html>
<head>
    <title>编辑图书</title>
</head>
<body>
    <h1>编辑图书</h1>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="保存">
    </form>
</body>
</html>

delete_book.html :

<!DOCTYPE html>
<html>
<head>
    <title>删除图书</title>
</head>
<body>
    <h1>删除图书</h1>
    <p>确定要删除 "{{ book.title }}" 吗?</p>
    <form method="post">
        {% csrf_token %}
        <input type="submit" value="删除">
    </form>
</body>
</html>

步骤 7:配置 URL 并设置项目的主 URL

打开 books/urls.py 文件,定义用于 CRUD 视图的 URL:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.book_list, name='book_list'),
    path('add/', views.add_book, name='add_book'),
    path('edit/<int:pk>/', views.edit_book, name='edit_book'),
    path('delete/<int:pk>/', views.delete_book, name='delete_book'),
]

然后,打开 book_management_project/urls.py 文件,并包含应用程序的 URL:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('books/', include('books.urls')),
]

步骤 8:运行开发服务器

运行以下命令启动开发服务器:

python manage.py runserver

现在,您可以在网页浏览器中访问 http://127.0.0.1:8000/books/ 来查看图书列表,并可以添加、编辑和删除图书。

请注意,这只是一个基本的实现。在实际应用中,您可能还需要添加更多功能,处理用户认证,并实现安全措施以防止未经授权的访问 CRUD 操作。但是,此示例应该为您构建 Django 项目中的 CRUD 功能提供了一个很好的起点。

Elasticsearch是一个开源的分布式搜索和分析引擎,用于存储和检索大规模数据。###更新(Update)文档要更新现有的文档,您可以 ...
在Django中,实现增删改查(CRUD)操作通常涉及使用Django的模型(Models)和视图(Views)。更新(Update)更新数 ...
在Django中,数据库的增删改查操作主要涉及使用ORM(对象关系映射)框架,通过定义模型(Model)来与数据库交互。get(id=boo ...
在这里,我将为您提供使用Java语言操作Elasticsearch进行增删改查的示例代码,并为每个操作提供详细的说明。###添加依赖首先,您 ...
在Django中,表单增删改查通常是指使用Django的模型(Model)和表单(Form)来实现对数据库数据的操作。下面是一些示例视图函数 ...