创建一个完整的 Django 管理系统涉及多个模块。在这里,我将为你展示一个简单的例子,包含以下几个模块:
假设我们要开发一个简单的图书管理系统,包含图书的标题、作者和出版日期。
首先,确保你已经安装了 Django。然后按照以下步骤进行开发:
# 创建项目
django-admin startproject library_management
# 进入项目目录
cd library_management
# 创建应用
python manage.py startapp books
打开 books/models.py 文件,定义图书模型:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
def __str__(self):
return self.title
运行以下命令,生成数据库表:
```pre language-bash python manage.py makemigrations python manage.py migrate
### 创建表单
在 books/forms.py 文件中定义图书表单:
```python
from django import forms
from .models import Book
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ['title', 'author', 'publication_date']
在 books/views.py 文件中定义视图函数:
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, '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})
在 books/templates/books 文件夹下创建两个模板文件 book_list.html 和 add_book.html,分别用于展示图书列表和添加图书的页面。
book_list.html
:
<!DOCTYPE html>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Book List</h1>
{% for book in books %}* {{ book.title }} - {{ book.author }} - {{ book.publication_date }}
<a href="{% url 'add_book' %}">Add Book</a>
</body>
</html>
add_book.html
:
<!DOCTYPE html>
<html>
<head>
<title>Add Book</title>
</head>
<body>
<h1>Add Book</h1>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Save</button>
</form>
</body>
</html>
在 library_management/urls.py 中配置 URL 映射:
from django.contrib import admin
from django.urls import path
from books.views import book_list, add_book
urlpatterns = [
path('admin/', admin.site.urls),
path('books/', book_list, name='book_list'),
path('books/add/', add_book, name='add_book'),
]
现在,运行以下命令启动 Django 开发服务器:
pre language-bash
python manage.py runserver
访问 http://127.0.0.1:8000/books/
可以查看图书列表,访问 http://127.0.0.1:8000/books/add/
可以添加新的图书。
以上是一个简单的图书管理系统示例,涵盖了 Django 中常用的模块。在实际开发中,可能会涉及更多功能和复杂的业务逻辑。这里只是一个入门级的示例,希望能帮助你理解 Django 中的模块和基本开发流程。