创建 Python Django 网站:新手指南

您是否刚刚开始接触网络开发?或者你已经有了一些经验,但正在寻找新的工具?今天,我将向你介绍如何创建一个 Python Django 网站。Python Django 是一个功能强大而又简单易学的网络框架,深受许多开发人员的喜爱。

在本文中,我们将坦诚地探讨这种组合的利弊,并将指导您如何安装 Python Django。 我们会让初学者轻松掌握,请务必继续阅读。

Python Django 令人信服的优势

创建 Python Django 网站有很多优势。

  1. 电池包容理念Django:Django 的理念是 "包含电池",这意味着 网络开发所需的大部分功能已内置其中手段。它内置了管理页面、对象关系映射(ORM)、身份验证系统等,大大缩短了开发时间。
  2. 基于 Python由于它基于 Python 语言,因此利用了 Python 简洁易读的语法。这使得初学者非常容易上手。
  3. 强大的安全性安全性:Django 非常重视安全性。它内置了针对 SQL 注入、跨站脚本 (XSS) 和跨站请求伪造 (CSRF) 等常见安全威胁的防御功能。
  4. 可扩展性Django:Django 非常适合构建大型网站。它的结构使其很容易随着流量的增长而扩展。
  5. 活跃的社区Django:许多开发人员都使用 Django,因此在遇到问题时很容易获得帮助,而且有许多第三方软件包可以轻松扩展功能。

Python Django 缺点:您需要了解的内容

파이썬 장고 웹사이트 만들기 단점 요약 이미지
(创建 Python Django 网站的缺点)

不过,创建 Python Django 网站也有一些注意事项。

  1. 学习曲线最大的缺点是学习曲线。Django 虽然功能强大,但有很多概念需要学习,其中有些概念可能会让人不知所措,例如模型-视图-模板(MVT)结构、ORM 和中间件。
  2. 缺乏灵活性Django: Django 是一个"......公约优于设置的理念,有时会让人感觉不够灵活,而且 Django 提供的许多功能可能会让人难以承受,尤其是对于小型项目而言。
  3. 性能由于它基于 Python,因此运行速度会比基于编译语言的框架慢一些。不过,在大多数情况下,这种差异并不是什么大问题。
  4. 版本兼容性应谨慎升级,因为 Django 的重大版本升级可能会破坏向后兼容性。

安装 Python Django:逐步进行

现在让我们看看如何安装 Python Django。

  1. 安装 PythonPython:首先,你需要安装 Python。 Python 官方网站 (python.org)下载并安装最新版本。
  2. 创建虚拟环境 (可选但建议使用):使用虚拟环境为每个项目创建独立的环境。 终端将创建一个名为 myenv 的虚拟环境。
   python -m venv myenv

然后激活虚拟环境。对于 Windows 和 Mac/Linux 操作系统,可以在终端(命令提示符)中键入如下所示的内容。

  • 视窗 myenv\Scripts\activate
  • macOS/Linux source myenv/bin/activate
  • 3. 安装 Django打开终端(macOS、Linux)或命令提示符(Windows),输入以下命令
   pip install django
  1. 验证安装安装完成后,可以使用以下命令验证 Django 是否已正确安装
   python -m django --version

如果打印出版本号,说明安装已成功完成。

创建 Python Django 网站

安装好 Python Django 后,就可以创建第一个网站了。

  1. 创建项目尝试在终端运行以下命令::这将创建一个名为 "mysite "的 Django 项目。
   django-admin startproject mysite
  1. 创建应用程序应用程序:Django 项目由多个应用程序组成。让我们创建第一个应用程序。在终端(或 CMD 窗口)中,导航到 mysite 文件夹,然后键入 create app 命令。
   cd mysite
   python manage.py startapp myapp
  1. 更改设置: mysite/settings.py 打开文件并点击 已安装的应用程序 在列表中添加 "myapp"。在创建应用程序时,默认情况下应该这样做。
  2. 定义模型: myapp/models.py 文件来定义数据模型。例如
   从 django.db 导入模型

   类 Post(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
  1. 迁移数据库第一个命令会检测您对模型所做的更改,并创建一个 "蓝图"(迁移文件)将其应用到数据库中。第二个命令读取生成的迁移文件,并将更改应用到实际数据库中。
   python manage.py makemigrations
   python manage.py 迁移
  1. 建筑景观: myapp/views.py 在文件中创建视图。视图是 Django 应用程序的 "大脑":负责接收和处理用户请求,并返回适当的响应。
   from django.shortcuts import render
   从 .models import Post

   def post_list(request):
       posts = Post.objects.all()
       return render(request, 'myapp/post_list.html', {'posts': posts})
  1. 设置 URL: mysite/urls.pymyapp/urls.py 在文件中添加 URL 模式。创建视图后,需要将其与 URL 关联。 urls.py 文件。这将确保当您访问"/posts/"URL 时,"/posts/"文件中的 帖子列表 风景如画。
from django.urls import path
从 .import views

urlpatterns = [
    path('posts/', views.post_list, name='post_list')、
]
  1. 创建模板: myapp/templates/myapp/post_list.html 文件并写入 HTML。下面的代码使用 myapp/templates/myapp/post_list.html 您可以将其保存到文件中。该模板可创建一个显示帖子列表的简单网页。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Post List</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
            background-color: #f4f4f9;
        }
        .container {
            width: 80%;
            margin: auto;
            overflow: hidden;
            padding: 20px;
            background: #fff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        h1 {
            text-align: center;
            color: #333;
        }
        .post {
            border-bottom: 1px solid #ddd;
            margin-bottom: 20px;
            padding-bottom: 10px;
        }
        .post:last-child {
            border-bottom: none;
        }
        .post-title {
            font-size: 1.5em;
            color: #333;
        }
        .post-content {
            font-size: 1em;
            color: #666;
        }
        .post-date {
            font-size: 0.8em;
            color: #999;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>职位列表</h1>
        {%,如果帖子数为 %}
            {%,职位中的职位 %}
                <div class="post">
                    <h2 class="post-title">{{ post.title }}</h2>
                    <p class="post-content">{{ post.content }}</p>
                    <p class="post-date">发表于: {{ post.created_at }}</p>
                </div>
            {% 结束 %}
        {% 否则 %}
            <p>没有可用的职位。</p>
        {% endif %}
    </div>
</body>
</html>
  1. 运行开发服务器:
   python manage.py runserver

在浏览器中,转到 http://127.0.0.1:8000/。如果您看到类似下图的屏幕,说明 Django 服务器已经启动并运行。输入您在 URL 中设置的地址,您将看到第一个 Django 网站启动并运行。

파이썬 장고 웹사이트 만들기 - 서버 실행 이미지
(创建 Django Python 网站 - 运行服务器 )

初学者术语表

  1. 网络框架Django 就是这样一个网络框架。
  2. MTV 模式它代表模型(数据管理)、模板(屏幕显示)和视图(逻辑处理),指的是 Django 组织网站的方式。
  3. ORMOMR 是对象关系映射(Object-Relational Mapping)的缩写,是一种可以轻松使用数据库的技术。
  4. 静态网页网页:总是显示相同内容的网页。
  5. 动态网页网页:可根据用户要求显示不同内容的网页。
  6. 迁移:更改数据库结构。Django 会自动处理。
  7. 虚拟环境通过为每个项目创建独立的 Python 环境来避免软件包冲突的技术。

结束语:用 Python Django 开辟网络开发的新天地

使用 Python Django 创建网站可能具有挑战性。但是,这也是一次有益的、令人兴奋的体验,随着对 Django 强大功能的进一步了解,您将能够自信地创建复杂的网络应用程序。

当然,重要的是要权衡利弊,并根据项目的规模和性质来使用。对于较小的项目,您可能需要考虑 Flask 或 FastAPI 等更轻量级的框架,但对于可扩展性和可维护性而言,Python Django 是一个不错的选择。

我们希望 Python Django 能成为您网络开发之路上的好伙伴。 不断学习,不断尝试,不断建设伟大的网站。遇到困难不要放弃。每一次起步都很艰难,但只要一步一个脚印,就一定会成功。 祝您在网络开发之路上好运!

# 注释 - 《定义规范范本》注释

模型定义部分的代码展示了 Django 如何定义数据库表。 让我们逐行查看:
1. 从 django.db 导入模型导入使用 Django 模型功能所需的模块。
2. 类 Post(models.Model):说明:定义一个名为 "Post "的新模型(表)。 模型.模型来使用 Django 的模型功能。
3. title = models.CharField(max_length=200)创建一个名为 "标题 "的字段。CharField 是一个字符串字段,可以存储长度不超过 200 个字符的标题。
4. content = models.TextField()创建一个名为 "content "的字段。TextFields 是可以容纳长篇文本的字段,非常适合存储帖子的正文内容。
5. created_at = models.DateTimeField(auto_now_add=True)创建一个名为 "created_at "的字段。DateTimeField 是一个存储日期和时间的字段。 auto_now_add=True表示该字段在首次创建时将自动存储当前日期和时间。
6. def __str__(self)::这是 Python 中的一种特殊方法,用于将对象表示为字符串。
7. return self.title例如,在管理页面查看此对象时,将显示标题。
然后,Django 会将定义的模型自动转换为数据库表。然后通过迁移过程将此结构应用到实际数据库中。该模型使使用 Python 代码操作数据库变得容易。

#Further Comments - View Code Commentary

让我们逐行仔细看看这段代码:
1. 从 django.shortcuts 导入 render:
- 姜戈的 给予 获取功能。
- 该函数用于加载模板并生成 HTML。
2. 从 .models 导入 Post:
- "(《世界人权宣言》) 职位 导入模型
-. .模型"(《世界人权宣言》) .指当前目录。
3. def post_list(request)::
-. 帖子列表定义一个名为
- 所有视图函数都使用 要求 对象,其中包含用户请求的相关信息。
4. posts = Post.objects.all():
- 从数据库中获取所有邮政对象。
-. Post.objects.all()以 QuerySet 的形式返回 Post 模型的所有实例。
5. return render(request, 'myapp/post_list.html', {'posts': posts}):
-. 给予 函数来生成 HTTP 响应。
- 该函数有三个参数:
-. 要求:当前请求对象
-. myapp/post_list.html:要使用的模板文件的路径
-. {'posts': posts}:要传递给模板的数据(此处我们传递所有名称为 "posts "的帖子对象)

类似文章