news 2026/8/29 7:00:45

PyCharm + Django 开发实战:从环境搭建到项目部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyCharm + Django 开发实战:从环境搭建到项目部署

1. 引言

PyCharm 是 JetBrains 出品的 Python 集成开发环境,而 Django 是 Python 生态中最流行的 Web 框架之一。将两者结合,可以显著提升 Web 项目的开发效率。本文将从环境搭建开始,逐步演示如何在 PyCharm 中创建、开发、调试和部署一个 Django 项目,并给出丰富的可运行代码实例。

2. 环境准备

在开始之前,请确保本机已安装 Python 3.8 及以上版本,并安装 PyCharm Professional 或 Community 版。Community 版同样支持 Django 开发,只是缺少部分专业功能(如数据库工具、前端支持等)。

建议使用虚拟环境隔离项目依赖。下面演示如何在 PyCharm 中创建虚拟环境并安装 Django。

# 创建虚拟环境(在项目根目录执行) python -m venv venv 激活虚拟环境(Windows) venv\Scripts\activate 激活虚拟环境(macOS / Linux) source venv/bin/activate 安装 Django pip install django 验证安装 python -m django --version

3. 创建 Django 项目

在 PyCharm 中,可以通过图形界面或命令行创建 Django 项目。这里推荐使用命令行方式,便于理解项目结构。

# 创建项目(当前目录下生成 mysite 文件夹) django-admin startproject mysite 进入项目目录 cd mysite 创建应用(app) python manage.py startapp blog

创建完成后,项目结构如下:

mysite/ ├── manage.py ├── mysite/ │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── blog/ ├── __init__.py ├── admin.py ├── apps.py ├── models.py ├── tests.py └── views.py

4. 配置 PyCharm 运行环境

在 PyCharm 中打开项目后,需要配置解释器和运行配置,才能一键运行 Django 项目。

首先,在 PyCharm 的 Settings 中,将项目解释器指向刚才创建的虚拟环境。然后,添加一个 Django Server 运行配置:

  • Host:127.0.0.1
  • Port:8000
  • Environment variables:PYTHONUNBUFFERED=1
  • Run browser:勾选,并填写 http://127.0.0.1:8000

配置完成后,点击运行按钮,即可在浏览器中访问 Django 默认欢迎页。

5. 编写第一个视图

下面编写一个简单的视图函数,返回一段 HTML 内容。首先编辑blog/views.py

from django.http import HttpResponse def index(request): return HttpResponse("<h1>Hello, PyCharm + Django!</h1>")

然后,在blog应用下新建urls.py文件:

from django.urls import path from . import views urlpatterns = [ path("", views.index, name="index"), ]

最后,在项目主路由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/,即可看到页面输出。

6. 使用模板渲染页面

实际开发中,通常使用模板文件渲染 HTML。首先在blog应用下创建templates/blog/index.html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{{ title }}</title> </head> <body> <h1>{{ title }}</h1> <p>{{ content }}</p> </body> </html>

然后修改blog/views.py,使用模板渲染:

from django.shortcuts import render def index(request): context = { "title": "PyCharm + Django 实战", "content": "这是一篇使用模板渲染的示例页面。", } return render(request, "blog/index.html", context)

刷新浏览器,页面将显示模板中的内容。

7. 模型与数据库

Django 通过 ORM 操作数据库。下面定义一个简单的文章模型。编辑blog/models.py

from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title</code></pre> 然后执行数据库迁移: python manage.py makemigrations blog python manage.py migrate 接下来,在 Django 交互环境中创建一条测试数据: python manage.py shell from blog.models import Article article = Article(title="第一篇博客", content="这是通过 ORM 创建的文章。") article.save() print(Article.objects.all()) 8. 使用 Django Admin 管理数据 Django 自带后台管理系统。首先创建超级用户: python manage.py createsuperuser 然后,在 blog/admin.py 中注册模型: from django.contrib import admin from .models import Article admin.site.register(Article) 启动项目后,访问 http://127.0.0.1:8000/admin/,使用刚才创建的账号登录,即可在后台管理文章数据。 9. 调试技巧 PyCharm 提供了强大的调试功能。在代码行号左侧点击,即可设置断点。点击调试按钮后,程序会在断点处暂停,此时可以查看变量值、调用栈,并逐步执行代码。 下面是一个适合打断点的示例视图: from django.shortcuts import render from .models import Article def article_list(request): articles = Article.objects.all() # 在此处设置断点 context = {"articles": articles} return render(request, "blog/article_list.html", context) 调试时,可以在 Variables 面板中查看 articles 查询集的内容,帮助定位问题。 10. 静态文件配置 Django 项目通常需要加载 CSS、JavaScript 和图片等静态文件。首先在 mysite/settings.py 中确认配置: STATIC_URL = "static/" 在项目根目录创建 static 文件夹,并在模板中加载静态文件: {% load static %} <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="{% static 'css/style.css' %}"> </head> <body> <h1>静态文件示例</h1> </body> </html> 开发环境下,Django 会自动处理静态文件;生产环境则需要借助 Nginx 等服务器。 11. 部署要点 项目开发完成后,需要部署到服务器。以下是一个基于 Gunicorn 和 Nginx 的常见部署方案。 首先,在服务器上安装依赖并收集静态文件: pip install gunicorn python manage.py collectstatic 然后,使用 Gunicorn 启动 Django 应用: gunicorn mysite.wsgi:application --bind 0.0.0.0:8000 最后,在 Nginx 配置中反向代理到 Gunicorn: server { listen 80; server_name example.com; location /static/ { alias /path/to/mysite/static/; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 部署时还需要注意关闭 DEBUG 模式、配置 ALLOWED_HOSTS、使用环境变量管理敏感信息等。 12. 总结 本文从环境搭建、项目创建、视图编写、模板渲染、模型操作、后台管理、调试技巧、静态文件配置到生产部署,完整演示了使用 PyCharm 开发 Django 项目的全流程。PyCharm 的智能提示、调试器和数据库工具,能够显著提升 Django 开发效率。建议读者结合本文代码动手实践,逐步掌握这套开发工作流。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 6:59:37

Mistral托管GLM-5.2:模型托管趋势下的API接入与选型指南

Mistral要托管Z.ai的GLM-5.2&#xff0c;这条消息对做AI应用开发的开发者来说&#xff0c;值得停下来看一眼。核心变化不是又多了一个模型&#xff0c;而是以后你可能在一个欧洲模型平台上&#xff0c;用同一套API体系调用GLM系列模型。模型从“只在自己家API里”变成“别人家平…

作者头像 李华
网站建设 2026/8/29 6:57:09

Kimi K3细粒度MoE架构解析与API开发实战指南

先说一个判断&#xff1a;技术圈的注意力&#xff0c;不该只停留在“估值涨了多少亿美元”上。最近关于月之暗面 Kimi K3 的讨论很多。公开报道里提到&#xff0c;Kimi 母公司月之暗面的估值在短时间内从约 350 亿人民币涨到 500 亿人民币&#xff0c;两周市值涨了大概 150 亿美…

作者头像 李华
网站建设 2026/8/29 6:56:07

使用Gurobi精确求解车辆路径问题:从CVRP到CVRPTW的建模与实践

简介&#xff1a;本资源是一套面向物流优化、运筹学研究与工业工程实践者的Gurobi建模实战资料&#xff0c;聚焦车辆路径问题&#xff08;VRP&#xff09;及其四类核心变体——带容量约束的CVRP、带时间窗的VRPTW、带配送与取货的VRPPD&#xff0c;以及兼具时间窗与收发货的VRP…

作者头像 李华
网站建设 2026/8/29 6:55:41

Editor软件操作界面及常用设置介绍

Editor软件操作界面及常用设置介绍 与PCB库编辑界面类似&#xff0c;PCB设计交互界面主要包含菜单栏、工具栏、工作面板、状态信息显示及绘制工作区域等。丰富的信息及绘制工具组成了非常人性化的交互界面。状态信息及工作面板会随绘制工作的不同而有所不同&#xff0c;读者可…

作者头像 李华
网站建设 2026/8/29 6:51:33

基于Boost.Asio构建C++异步网络服务器:从环境配置到性能优化

简介&#xff1a;本资源是一套基于Boost库的C高性能编程实践源码集&#xff0c;面向中高级C开发者及系统编程学习者&#xff0c;旨在解决标准库功能局限下对线程管理、智能指针、正则处理、跨平台I/O等增强能力的工程化需求。压缩包共242个文件&#xff0c;总计4.98MB&#xff…

作者头像 李华
网站建设 2026/8/29 6:51:08

AI与类器官结合:从概念到工程实践的新技术栈

最近技术圈和生物科技圈有两个词热度很高&#xff1a;一个是 AI&#xff0c;一个是 Organoids。很多人看到“AI Is Dead. Organoids Are Alive”这句话时&#xff0c;第一反应是站队或者争论&#xff0c;但我觉得更值得做的是把它拆成一个工程问题&#xff1a;类器官到底是什么…

作者头像 李华