Django入门教程:搭建你的第一个Python网站
开篇:Django是什么?用来做什么?
Django是一个用Python编写的开源Web框架,它帮助开发者快速构建功能强大的网站。想象一下,如果你想开一家网店,但不想从零开始写所有代码(比如注册用户、管理商品列表等),那么Django就可以帮到你!它提供了许多现成的工具和模块,让你可以专注于实现自己的核心需求。
使用Django,你可以轻松创建博客、电子商务平台、社交网络应用等各种类型的网站。如果你是完全零基础的新手,也不用担心——今天我们就从零开始学习如何用Django搭建一个简单的网站!
环境准备:开发环境搭建步骤
1. 安装Python
Django是基于Python语言的,所以我们需要先安装Python。
- Windows/macOS/Linux 用户可以访问官网下载最新版本(推荐使用Python 3.9+)。
- 安装完成后,在命令行输入以下命令,确认是否成功安装:
或者(如果系统支持python --versionpython3命令):python3 --version
2. 安装pip
Pip是一个用于安装Python包的工具,Django也需要通过pip安装。大多数情况下,Python自带了pip。运行以下命令检查是否已安装:
pip --version
如果没有安装,请按照官方指南进行安装。
3. 创建虚拟环境
为了防止不同项目的依赖冲突,建议每个项目都使用独立的虚拟环境。
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境(Windows)
myenv\Scripts\activate
# 激活虚拟环境(macOS/Linux)
source myenv/bin/activate
4. 安装Django
激活虚拟环境后,运行以下命令安装Django:
pip install django
检查安装是否成功:
django-admin --version
核心概念:用通俗的语言解释关键概念
在开始动手之前,我们需要了解几个基本概念:
1. MVT模式
Django遵循“模型-视图-模板”(Model-View-Template,简称MVT)的设计模式。
- 模型(Model):处理数据的部分,比如数据库中的表结构。
- 视图(View):负责业务逻辑,决定显示哪些内容。
- 模板(Template):展示给用户的界面部分,类似于HTML文件。
2. 应用(App)
一个Django项目通常由多个应用组成。每个应用负责实现某个具体的功能,例如用户登录、文章管理等。
3. URL配置
Django通过URL路径将用户的请求映射到具体的视图函数上,这样可以确保不同的页面有不同的功能。
实战项目:一步步完成一个简单网站
接下来,我们将一起创建一个简单的“Hello World”网站。
1. 创建Django项目
进入你的工作目录,运行以下命令创建一个新的Django项目:
django-admin startproject mysite
这会在当前目录下生成一个名为mysite的文件夹,里面包含项目的基本结构。
2. 运行开发服务器
进入项目目录并启动Django内置的开发服务器:
cd mysite
python manage.py runserver
打开浏览器,访问http://127.0.0.1:8000/,你会看到默认的欢迎页面。
3. 创建应用
每个Django项目都需要至少一个应用来承载实际功能。运行以下命令创建一个名为hello的应用:
python manage.py startapp hello
4. 配置应用
打开mysite/settings.py文件,在INSTALLED_APPS列表中添加新创建的应用:
INSTALLED_APPS = [
# 其他默认应用...
'hello',
]
5. 编写视图
在hello/views.py中编写一个简单的视图函数:
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, World!")
6. 配置URL
告诉Django如何将请求映射到我们的视图函数。首先在hello应用中创建一个urls.py文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
然后,在项目的主urls.py文件(位于mysite/mysite/目录下)中引入这个新的URL配置:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('hello.urls')), # 将hello应用的URL加入主路由
]
7. 测试结果
重新启动开发服务器,刷新浏览器页面。你应该能看到“Hello, World!”的文字。
增强功能:添加一个简单的模板
为了让页面更美观,我们可以使用Django的模板系统。
1. 创建模板文件
在hello/templates/hello/目录下新建一个HTML文件index.html:
<!DOCTYPE html>
<html>
<head>
<title>Hello, World</title>
</head>
<body>
<h1>Welcome to My Website!</h1>
<p>This is a simple Django project.</p>
</body>
</html>
2. 修改视图函数
更新views.py以返回渲染后的模板:
from django.shortcuts import render
def home(request):
return render(request, 'hello/index.html')
3. 配置模板路径
确保模板路径被正确识别,在mysite/settings.py中找到DIRS参数并设置为:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'], # 添加这一行
...
},
]
再次刷新页面,现在你应该能看到一个带有标题和段落的网页。
常见问题:新手容易遇到的问题和解决方案
问题:运行
python manage.py runserver时提示“ModuleNotFoundError: No module named 'django'”- 解决方法:检查是否正确激活了虚拟环境,并确保Django已经安装。
问题:访问网页时显示“Page not found (404)”
- 解决方法:确认URL配置是否正确,检查是否有拼写错误或未导入的视图函数。
问题:无法访问开发服务器
- 解决方法:确保开发服务器正在运行,并检查浏览器地址栏是否与运行日志中的地址一致。
学习建议:下一步的学习路径
恭喜你完成了第一个Django网站!如果你希望进一步提升,这里有一些建议:
- 学习Django的ORM(对象关系映射),掌握如何操作数据库。
- 创建一个简单的博客应用,练习增删改查操作。
- 了解用户认证系统(Authentication),例如用户注册、登录和权限管理。
- 掌握前端知识,结合CSS、JavaScript让页面更加美观和动态。
- 学习部署技巧,将你的网站发布到云端(如Heroku、AWS等)。
最后,不断实践才是学习编程的最佳方式!尝试自己设计一些小项目,比如待办事项清单、照片分享网站等。相信不久之后,你就能独立开发出完整的Web应用啦!

评论 0