一文掌握GitHub热门开源项目Django(Windows 11版)

云信安装大师
90
AI 质量分
10 5 月, 2025
3 分钟阅读
0 阅读

一文掌握GitHub热门开源项目Django(Windows 11版)

引言

Django是GitHub上最受欢迎的Python Web框架之一,它以”快速开发”和”干净设计”著称。本文将带你在Windows 11系统上从零开始搭建Django开发环境,并创建一个完整的示例项目。

准备工作

环境要求

  • Windows 11操作系统
  • Python 3.8或更高版本
  • 稳定的网络连接

为什么选择Django?

  1. 全功能框架:内置ORM、模板引擎、表单处理等
  2. 安全可靠:自动防范SQL注入、XSS等常见攻击
  3. 社区活跃:丰富的第三方插件和文档支持

详细步骤

1. 安装Python

首先确保你的系统已安装Python:

代码片段
# 检查Python版本
python --version

如果未安装,请从Python官网下载最新版本,安装时务必勾选”Add Python to PATH”选项。

2. 创建虚拟环境

虚拟环境可以隔离项目依赖:

代码片段
# 创建项目目录并进入
mkdir django_project && cd django_project

# 创建虚拟环境(推荐使用venv)
python -m venv venv

# 激活虚拟环境
.\venv\Scripts\activate

激活后,命令行提示符前会显示(venv)标识。

经验分享:建议每个Django项目都使用独立的虚拟环境,避免包冲突。

3. 安装Django

在激活的虚拟环境中执行:

代码片段
pip install django

验证安装:

代码片段
python -m django --version

4. 创建第一个Django项目

代码片段
django-admin startproject mysite
cd mysite

项目结构说明:

代码片段
mysite/
    manage.py         # Django命令行工具
    mysite/
        __init__.py   # Python包标识文件
        settings.py   # 项目配置
        urls.py       # URL路由配置
        asgi.py       # ASGI兼容Web服务器入口
        wsgi.py       # WSGI兼容Web服务器入口

5. 运行开发服务器

代码片段
python manage.py runserver

访问 http://127.0.0.1:8000/ ,你应该看到Django欢迎页面。

注意:如果遇到端口冲突,可以使用runserver 8080指定其他端口。

6. 创建应用(Django App)

在Django中,”项目”(Project)由多个”应用”(App)组成:

代码片段
python manage.py startapp blog

然后在mysite/settings.pyINSTALLED_APPS中添加新应用:

代码片段
INSTALLED_APPS = [
    ...
    'blog.apps.BlogConfig',
]

7. Django ORM实践 – 创建模型(Model)

编辑blog/models.py

代码片段
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

原理说明:
CharField: VARCHAR类型字段,适合短文本
TextField: TEXT类型字段,适合长文本内容
auto_now_add: 对象首次创建时自动设置当前时间

8. 数据库迁移

Django使用迁移系统管理模型变更:

代码片段
# 生成迁移文件(将模型转换为SQL)
python manage.py makemigrations blog

# 应用迁移到数据库(默认使用SQLite)
python manage.py migrate 

经验分享:每次修改模型后都需要重新执行这两个命令。

9. Django Admin实践 -后台管理界面

首先创建超级用户:

代码片段
python manage.py createsuperuser 

然后编辑blog/admin.py注册模型:

代码片段
from django.contrib import admin 
from .models import Post 

admin.site.register(Post)

访问 http://127.0.0.1:8000/admin ,用刚创建的账号登录即可管理博客文章。

Django视图和URL示例

让我们创建一个简单的视图来显示文章列表:

  1. blog/views.py:
代码片段
from django.shortcuts import render 
from .models import Post 

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'blog/post_list.html', {'posts': posts})
  1. blog/templates/blog/post_list.html:
代码片段
<!DOCTYPE html>
<html>
<head>
    <title>我的博客</title>
</head>
<body>
    <h1>文章列表</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} - {{ post.created_at }}</li>
        {% endfor %}
    </ul>
</body>
</html>
  1. blog/urls.py (需新建):
代码片段
from django.urls import path 
from . import views 

urlpatterns = [
    path('', views.post_list, name='post_list'),
]
  1. mysite/urls.py:
代码片段
from django.contrib import admin 
from django.urls import include, path 

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

现在访问 http://127.0.0.1:8000/blog/ ,你应该能看到文章列表页面。

Windows下常见问题解决

  1. ‘pip’不是内部或外部命令

    • Python未正确添加到PATH环境变量中
    • [解决方案]重新安装Python并勾选”Add Python to PATH”
  2. 虚拟环境无法激活

    代码片段
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser  
    

    [原理]Windows默认限制脚本执行权限

  3. 数据库连接问题

    • SQLite是Django默认数据库,无需额外配置
    • MySQL/PostgreSQL需要额外安装适配器:
      代码片段
      pip install mysqlclient psycopg2-binary  <br>
      

Git版本控制集成(可选)

如果你想把项目托管到GitHub:

代码片段
git init 
echo "venv/" > .gitignore  
git add .  
git commit -m "Initial commit"

然后推送到GitHub仓库即可。

Django最佳实践总结

  1. 开发流程

    代码片段
    修改模型 → makemigrations → migrate → test → repeat  
    
  2. 目录结构建议

    代码片段
    project/
       apps/
          blog/
          accounts/
       static/
       templates/
       requirements.txt  
    
  3. 性能优化技巧

    代码片段
    # N+1查询问题解决方案:
    posts = Post.objects.select_related('author').all()  
    
    # Pagination分页:
    from django.core.paginator import Paginator  
    
    paginator = Paginator(Post.objects.all(), per_page=10)  
    

Next Steps进阶学习路线

  1. Django REST Framework构建API
  2. Celery实现异步任务队列
  3. Channels实现WebSocket实时通讯

通过本文,你已经掌握了在Windows11上搭建Django开发环境的完整流程。现在你可以开始构建自己的Web应用了!遇到问题时,记住查阅Django官方文档总是最好的选择。

原创 高质量