1. 安装 Django
首先,确保你已经安装了 Django。如果还没有安装,可以使用以下命令安装:
pip install django
2. 创建 Django 项目
在命令行中,创建一个新的 Django 项目:
django-admin startproject myproject
cd myproject
3. 创建 Django 应用
在项目目录中,创建一个新的应用:
python manage.py startapp myapp
4. 注册应用
在 myproject/settings.py
文件中,将新创建的应用添加到 INSTALLED_APPS
列表中:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 添加这一行
]
5. 定义模型
在 myapp/models.py
文件中,定义一个简单的模型:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published_date = models.DateField()
def __str__(self):
return self.title
6. 创建数据库表
运行以下命令来创建数据库表:
python manage.py makemigrations
python manage.py migrate
7. 创建视图
在 myapp/views.py
文件中,创建一个简单的视图:
from django.shortcuts import render
from .models import Book
def book_list(request):
books = Book.objects.all()
return render(request, 'myapp/book_list.html', {'books': books})
8. 配置 URL
在 myapp
目录下创建一个 urls.py
文件,并添加以下内容:
from django.urls import path
from . import views
urlpatterns = [
path('books/', views.book_list, name='book_list'),
]
在 myproject/urls.py
文件中,包含 myapp
的 URL 配置:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')), # 添加这一行
]
9. 创建模板
在 myapp
目录下创建一个 templates
文件夹,并在其中创建一个 myapp
文件夹。然后在 myapp
文件夹中创建一个 book_list.html
文件,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Book List</h1>
<ul>
{% for book in books %}
<li>{{ book.title }} by {{ book.author }} ({{ book.published_date }})</li>
{% endfor %}
</ul>
</body>
</html>
10. 运行开发服务器
运行以下命令启动开发服务器:
python manage.py runserver
11. 访问示例
打开浏览器,访问 http://127.0.0.1:8000/books/
,你应该会看到一个包含所有书籍的列表。
12. 添加数据
为了测试,你可以通过 Django 管理后台添加一些数据。首先,创建一个超级用户:
python manage.py createsuperuser
然后,运行以下命令启动管理后台:
python manage.py runserver
访问 http://127.0.0.1:8000/admin/
,使用你创建的超级用户登录,然后添加一些书籍数据。
完整代码
以下是完整的代码结构:
myproject/
manage.py
myproject/
__init__.py
asgi.py
settings.py
urls.py
wsgi.py
myapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
urls.py
templates/
myapp/
book_list.html