引言
Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计。本指南旨在帮助初学者快速入门 Django,并通过实战搭建一个简单的网站。
环境准备
在开始之前,确保你的电脑上已安装以下软件:
- Python 3.x
- pip(Python 包管理器)
- Django
你可以通过以下命令安装 Django:
pip install django
创建一个新项目
一旦安装了 Django,你可以创建一个新的项目。打开命令行,输入以下命令:
django-admin startproject myproject
这将创建一个名为 myproject 的新目录,其中包含 Django 项目的基本结构。
配置数据库
Django 默认使用 SQLite 数据库,这是一个轻量级的数据库,非常适合小型项目。要配置数据库,打开 myproject/settings.py 文件,找到 DATABASES 配置项,确保它看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
创建一个应用
在你的项目目录中,有一个名为 myapp 的目录,这是你的第一个应用。要创建一个应用,进入 myproject 目录,然后运行以下命令:
python manage.py startapp myapp
这将在 myapp 目录中创建一些基本文件。
定义模型
模型是数据库中表格的映射。在你的 myapp/models.py 文件中,定义一个简单的模型,例如:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
def __str__(self):
return self.title
迁移数据库
在你的项目目录中,运行以下命令来创建数据库表:
python manage.py makemigrations
python manage.py migrate
创建视图
视图是响应 HTTP 请求的函数。在你的 myapp/views.py 文件中,创建一个简单的视图:
from django.shortcuts import render
from .models import Article
def article_list(request):
articles = Article.objects.all()
return render(request, 'article_list.html', {'articles': articles})
配置路由
在你的 myapp/urls.py 文件中,定义一个路由来指向你的视图:
from django.urls import path
from . import views
urlpatterns = [
path('', views.article_list, name='article_list'),
]
在你的项目根目录中的 urls.py 文件中,包含你的应用的路由:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('articles/', include('myapp.urls')),
]
创建模板
在你的 myapp/templates/myapp 目录中,创建一个名为 article_list.html 的文件,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>Articles</title>
</head>
<body>
<h1>Articles</h1>
<ul>
{% for article in articles %}
<li>{{ article.title }} - {{ article.content }}</li>
{% endfor %}
</ul>
</body>
</html>
确保 article_list.html 文件位于 myapp/templates/myapp 目录中。
运行服务器
在你的项目目录中,运行以下命令来启动开发服务器:
python manage.py runserver
打开浏览器并访问 http://127.0.0.1:8000/articles/,你应该能看到一个包含所有文章的列表。
总结
通过上述步骤,你已经成功搭建了一个使用 Django 框架的简单网站。这只是 Django 的冰山一角,你可以继续学习更多的功能,如表单处理、用户认证和中间件等。继续探索和学习,你将能够构建更复杂和功能丰富的 Web 应用。
