django增删改查项目
时间: 2023-07-11 16:45:40 浏览: 104
好的,以下是一个简单的 Django 增删改查项目的示例。
首先,创建一个 Django 项目,然后创建一个名为 `myapp` 的应用程序。
接下来,在 `myapp` 目录下创建一个名为 `models.py` 的文件,并定义模型类,例如:
```python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
published_date = models.DateField()
def __str__(self):
return self.title
```
然后,在 `myapp` 目录下创建一个名为 `views.py` 的文件,并定义视图函数,例如:
```python
from django.shortcuts import render, redirect
from .models import Book
from .forms import BookForm
def book_list(request):
books = Book.objects.all()
return render(request, 'book_list.html', {'books': books})
def book_create(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, 'book_form.html', {'form': form})
def book_update(request, pk):
book = Book.objects.get(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, 'book_form.html', {'form': form})
def book_delete(request, pk):
book = Book.objects.get(pk=pk)
book.delete()
return redirect('book_list')
```
在上面的代码中,`book_list` 视图函数用于获取所有书籍并在模板中显示它们。`book_create` 视图函数用于创建新书籍。`book_update` 视图函数用于更新现有书籍。`book_delete` 视图函数用于删除书籍。
接下来,在 `myapp` 目录下创建一个名为 `forms.py` 的文件,并定义表单类,例如:
```python
from django import forms
from .models import Book
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ['title', 'author', 'published_date']
```
然后,在 `myapp` 目录下创建一个名为 `urls.py` 的文件,并设置 URL 路由,例如:
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.book_list, name='book_list'),
path('new', views.book_create, name='book_create'),
path('edit/<int:pk>', views.book_update, name='book_update'),
path('delete/<int:pk>', views.book_delete, name='book_delete'),
]
```
最后,在 `myapp` 目录下创建一个名为 `templates` 的目录,并在其中创建 `book_list.html` 和 `book_form.html` 模板文件。
`book_list.html` 模板文件示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Book List</h1>
<table>
<thead>
<tr>
<th>Title</th>
<th>Author</th>
<th>Published Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.title }}</td>
<td>{{ book.author }}</td>
<td>{{ book.published_date }}</td>
<td>
<a href="{% url 'book_update' book.pk %}">Edit</a>
<a href="{% url 'book_delete' book.pk %}">Delete</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<a href="{% url 'book_create' %}">New Book</a>
</body>
</html>
```
`book_form.html` 模板文件示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>Book Form</title>
</head>
<body>
<h1>Book Form</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Save</button>
</form>
</body>
</html>
```
现在你就拥有了一个简单的 Django 增删改查项目。
阅读全文