提示信息

一个简单的增删改查Django demo,快速学习框架

风止花开 已关注

构建一个简单的Django项目,其中包括基本的增删改查(CRUD)功能,是一个很好的学习框架的开始。下面是一个快速指南,帮助你创建一个简单的Django应用程序。

环境准备

  1. 安装Python和Django
    确保你已经安装了Python,然后通过以下命令安装Django:

    1. pip install django
  2. 创建Django项目

    1. django-admin startproject myproject
    2. cd myproject
  3. 创建应用程序

    1. python manage.py startapp myapp

配置Django项目

  1. 添加应用到项目中
    myproject/settings.py中,找到INSTALLED_APPS并添加myapp

    1. INSTALLED_APPS = [
    2. ...,
    3. 'myapp',
    4. ]
  2. 设置数据库(默认SQLite)

创建模型

myapp/models.py中定义一个简单的模型,例如一个书籍管理系统:

  1. from django.db import models
  2. class Book(models.Model):
  3. title = models.CharField(max_length=100)
  4. author = models.CharField(max_length=50)
  5. published_date = models.DateField()
  6. isbn_number = models.CharField(max_length=13)
  7. def __str__(self):
  8. return self.title

迁移数据库

生成和应用迁移以创建数据库表:

  1. python manage.py makemigrations myapp
  2. python manage.py migrate

创建视图

myapp/views.py中,为增删改查功能编写视图:

  1. from django.shortcuts import render, get_object_or_404, redirect
  2. from .models import Book
  3. from .forms import BookForm
  4. # 显示书籍列表
  5. def book_list(request):
  6. books = Book.objects.all()
  7. return render(request, 'myapp/book_list.html', {'books': books})
  8. # 详情页面
  9. def book_detail(request, pk):
  10. book = get_object_or_404(Book, pk=pk)
  11. return render(request, 'myapp/book_detail.html', {'book': book})
  12. # 创建书籍
  13. def book_create(request):
  14. if request.method == "POST":
  15. form = BookForm(request.POST)
  16. if form.is_valid():
  17. form.save()
  18. return redirect('book_list')
  19. else:
  20. form = BookForm()
  21. return render(request, 'myapp/book_form.html', {'form': form})
  22. # 更新书籍
  23. def book_update(request, pk):
  24. book = get_object_or_404(Book, pk=pk)
  25. if request.method == "POST":
  26. form = BookForm(request.POST, instance=book)
  27. if form.is_valid():
  28. form.save()
  29. return redirect('book_list')
  30. else:
  31. form = BookForm(instance=book)
  32. return render(request, 'myapp/book_form.html', {'form': form})
  33. # 删除书籍
  34. def book_delete(request, pk):
  35. book = get_object_or_404(Book, pk=pk)
  36. if request.method == "POST":
  37. book.delete()
  38. return redirect('book_list')
  39. return render(request, 'myapp/book_confirm_delete.html', {'book': book})

创建表单

myapp/forms.py中:

  1. from django import forms
  2. from .models import Book
  3. class BookForm(forms.ModelForm):
  4. class Meta:
  5. model = Book
  6. fields = ['title', 'author', 'published_date', 'isbn_number']

配置URL

myapp/urls.py中:

  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4. path('', views.book_list, name='book_list'),
  5. path('book/<int:pk>/', views.book_detail, name='book_detail'),
  6. path('book/new/', views.book_create, name='book_create'),
  7. path('book/<int:pk>/edit/', views.book_update, name='book_update'),
  8. path('book/<int:pk>/delete/', views.book_delete, name='book_delete'),
  9. ]

myproject/urls.py中包含myapp的url:

  1. from django.contrib import admin
  2. from django.urls import path, include
  3. urlpatterns = [
  4. path('admin/', admin.site.urls),
  5. path('', include('myapp.urls')),
  6. ]

创建模板

myapp/templates/myapp/目录下创建以下HTML文件:

  • book_list.html:用于显示书籍列表。
  • book_detail.html:用于显示书籍详情。
  • book_form.html:用于创建和更新书籍表单。
  • book_confirm_delete.html:用于删除确认页面。

运行开发服务器

启动本地开发服务器并访问应用程序:

  1. python manage.py runserver

访问http://127.0.0.1:8000/即可看到你的Django增删改查应用。

这个项目可以帮助你快速了解Django的一些基本概念,比如模型、视图、表单和模板等。随着你对Django的熟悉,可以逐步加入更多复杂的功能。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
风止花开 关注 已关注

最近一次登录:2024-11-21 01:25:49   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图