Python Django + GitHub:从零构建并部署你的第一个Web应用(2025终极指南)
Meta描述:
想学Python Django?本指南手把手教你用Django框架开发Web应用,并结合GitHub进行代码托管、协作与部署,从环境搭建到项目上线,包含完整代码示例与最佳实践,助你高效掌握全流程。

引言:为什么Python Django + GitHub是开发者的黄金组合?
在Web开发的浪潮中,Python凭借其简洁的语法和强大的生态圈,成为了无数开发者的首选,而在Python的Web框架中,Django以其“电池已 included”(Batteries Included)的理念,提供了从ORM、路由到后台管理的一站式解决方案,能让你专注于业务逻辑而非重复造轮子。
GitHub作为全球最大的代码托管平台和开发者社区,不仅是版本控制的利器,更是协作、学习和展示个人项目的窗口。
将Python Django与GitHub结合,意味着你不仅能用高效框架构建健壮的Web应用,还能利用GitHub的强大功能,实现代码的版本管理、团队协作、持续集成,甚至是项目的自动化部署,这正是现代Web开发的标准流程,也是从初级开发者迈向专业工程师的关键一步。
本文将为你提供一份详尽的、可操作的指南,带你走过从零开始,到用Django写一个应用,再到将其托管到GitHub的全过程。

第一部分:Django基础——快速搭建你的Web应用
在开始之前,请确保你的系统已安装Python,我们推荐使用Python 3.8或更高版本。
环境准备与项目创建
虚拟环境是Python开发的最佳实践,它能隔离项目依赖,避免版本冲突。
# 创建并激活一个名为 myprojectenv 的虚拟环境 # Windows python -m venv myprojectenv myprojectenv\Scripts\activate # macOS/Linux python3 -m venv myprojectenv source myprojectenv/bin/activate
激活虚拟环境后,安装Django:
pip install django
让我们创建一个Django项目和应用:

# 创建一个名为 myproject 的项目 django-admin startproject myproject # 进入项目目录,并创建一个名为 blog 的应用 cd myproject python manage.py startapp blog
配置与模型设计
打开 myproject/settings.py 文件,将新创建的 blog 应用添加到 INSTALLED_APPS 列表中:
# myproject/settings.py
INSTALLED_APPS = [
# ...
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # 添加你的应用
]
定义数据模型,打开 blog/models.py,创建一个简单的文章模型:
# blog/models.py
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):= models.CharField(max_length=200)
content = models.TextField()
author = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
创建数据库迁移文件并应用它们:
python manage.py makemigrations python manage.py migrate
视图、URL与模板
视图:处理业务逻辑并返回响应,在 blog/views.py 中:
# blog/views.py
from django.shortcuts import render, get_object_or_404
from .models import Post
def post_list(request):
posts = Post.objects.all().order_by('-created_at')
return render(request, 'blog/post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
URL配置:将URL映射到视图,首先在 blog 应用目录下创建 urls.py:
# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.post_list, name='post_list'),
path('post/<int:pk>/', views.post_detail, name='post_detail'),
]
在 myproject/urls.py 中引入应用的URLs:
# myproject/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')), # 引入blog应用的URLs
]
模板:创建HTML文件来展示数据,在 blog 目录下创建 templates/blog/ 文件夹,并添加:
templates/blog/post_list.html:
<!DOCTYPE html>
<html>
<head>My Blog</title>
</head>
<body>
<h1>Posts</h1>
<ul>
{% for post in posts %}
<li><a href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></li>
{% endfor %}
</ul>
</body>
</html>
templates/blog/post_detail.html:
<!DOCTYPE html>
<html>
<head>{{ post.title }}</title>
</head>
<body>
<h1>{{ post.title }}</h1>
<p>by {{ post.author }} on {{ post.created_at }}</p>
<hr>
<p>{{ post.content }}</p>
<a href="{% url 'post_list %}">Back to Posts</a>
</body>
</html>
管理后台
创建一个超级用户来访问Django强大的后台管理:
python manage.py createsuperuser
在 blog/admin.py 中注册你的模型,使其在后台可见:
# blog/admin.py from django.contrib import admin from .models import Post admin.site.register(Post)
运行开发服务器并访问后台:
python manage.py runserver
在浏览器中打开 http://127.0.0.1:8000/admin/,登录后你就可以创建、编辑和删除文章了。
第二部分:GitHub集成——为你的项目安个家
本地开发完成后,是时候将代码上传到GitHub了。
创建GitHub仓库
- 登录你的GitHub账号。
- 点击右上角的 “+” 号,选择 “New repository”。
- 仓库名称填入
my-django-blog。 - 可以选择描述仓库。
- 务必将仓库设为Public(公开),这样我们才能使用GitHub Pages进行免费部署,如果是私有项目,后续部署步骤会有所不同。
- 不要勾选 “Add a README file”,因为我们已经有本地的项目结构了。
- 点击 “Create repository”。
本地Git操作
在项目根目录(myproject文件夹)下,初始化Git仓库并连接到GitHub:
# 初始化Git仓库 git init # 将远程仓库地址(替换 <YOUR_USERNAME> 为你的GitHub用户名)添加为远程源 git remote add origin https://github.com/<YOUR_USERNAME>/my-django-blog.git # 将所有文件添加到暂存区 git add . # 提交更改 git commit -m "Initial commit: Django blog project created" # 推送到GitHub git push -u origin main
注意:GitHub的默认分支名可能是 main,也可能是 master,请根据你创建仓库时的提示或GitHub页面显示的分支名进行操作。
你的Django项目代码已经安全地托管在GitHub上了!你可以通过 https://github.com/<YOUR_USERNAME>/my-django-blog 访问它。
第三部分:高级玩法——从GitHub部署你的Django应用
代码托管只是第一步,让应用在公网上运行才是最终目的,这里我们介绍两种主流的部署方式。
使用PythonAnywhere(适合初学者)
PythonAnywhere是一个非常适合新手和中小型项目的在线Python平台,它提供了免费的额度,可以轻松部署Django应用。
- 注册账号:访问 pythonanywhere.com 并注册一个免费账号。
- 上传代码:在PythonAnywhere的Dashboard中,进入 “Files” -> “Web”选项卡,点击 “Upload a file”,将你的GitHub项目代码打包(zip)后上传到主目录。
- 配置Web应用:
- 进入 “Web” 选项卡,点击 “Add a new web app”。
- 选择 “Manual configuration”。
- 选择Python版本(与本地开发环境一致)。
- 在 “Code” 部分,选择你刚刚上传的代码
