青少年编程与数学 02-009 Django 5 Web 编程 04课题、应用创建

青少年编程与数学 02-009 Django 5 Web 编程 04课题、应用创建

  • 一、项目及应用
      • [创建 Django 项目](#创建 Django 项目)
      • [创建 Django 应用](#创建 Django 应用)
      • 配置和测试
  • 二、数据库的设置
      • [步骤 1: 创建 Django 项目](#步骤 1: 创建 Django 项目)
      • [步骤 2: 配置数据库](#步骤 2: 配置数据库)
      • [步骤 3: 安装必要的数据库驱动](#步骤 3: 安装必要的数据库驱动)
      • [步骤 4: 进行数据库迁移](#步骤 4: 进行数据库迁移)
      • [步骤 5: 创建应用](#步骤 5: 创建应用)
  • 三、添加模板
      • [步骤 1: 创建模板目录](#步骤 1: 创建模板目录)
      • [步骤 2: 配置模板路径](#步骤 2: 配置模板路径)
      • [步骤 3: 创建 HTML 模板文件](#步骤 3: 创建 HTML 模板文件)
      • [步骤 4: 在视图中使用模板](#步骤 4: 在视图中使用模板)
      • [步骤 5: 配置 URL 路由](#步骤 5: 配置 URL 路由)
      • [步骤 6: 运行服务器并测试](#步骤 6: 运行服务器并测试)
  • 四、练习一
      • [步骤 1: 创建 Django 项目](#步骤 1: 创建 Django 项目)
      • [步骤 2: 定义模型](#步骤 2: 定义模型)
      • [步骤 3: 迁移数据库](#步骤 3: 迁移数据库)
      • [步骤 4: 创建视图](#步骤 4: 创建视图)
      • [步骤 5: 创建模板](#步骤 5: 创建模板)
      • [步骤 6: 配置 URL 路由](#步骤 6: 配置 URL 路由)
      • [步骤 7: 运行服务器](#步骤 7: 运行服务器)
      • [步骤 8: 测试项目](#步骤 8: 测试项目)
      • [步骤 9: 添加数据](#步骤 9: 添加数据)
  • 五、练习二
      • [步骤 1: 创建 Django 项目](#步骤 1: 创建 Django 项目)
      • [步骤 2: 创建 Django 应用](#步骤 2: 创建 Django 应用)
      • [步骤 3: 定义模型](#步骤 3: 定义模型)
      • [步骤 4: 迁移数据库](#步骤 4: 迁移数据库)
      • [步骤 5: 创建视图](#步骤 5: 创建视图)
      • [步骤 6: 创建模板](#步骤 6: 创建模板)
      • [步骤 7: 配置 URL 路由](#步骤 7: 配置 URL 路由)
      • [步骤 8: 运行服务器](#步骤 8: 运行服务器)
      • [步骤 9: 测试项目](#步骤 9: 测试项目)
      • [步骤 10: 添加数据](#步骤 10: 添加数据)

课题摘要: 本文详细介绍了在PyCharm中创建和配置Django项目及应用的步骤。首先,指导如何创建Django项目,包括选择项目类型、配置项目设置、选择Python解释器等。接着,讲解了创建Django应用的过程,涉及输入应用名称、选择目录、注册应用到settings.py等操作。文章还涵盖了数据库设置,包括配置SQLite、PostgreSQL、MySQL等数据库,以及安装相应数据库驱动和进行数据库迁移。此外,介绍了如何添加模板,包括创建模板目录、配置模板路径、编写HTML模板文件、在视图中使用模板以及配置URL路由。最后,通过两个练习示例,展示了如何创建一个简单的博客应用,包括定义模型、迁移数据库、创建视图、模板和URL路由,以及如何通过Django admin界面添加数据。这些内容帮助读者在PyCharm中顺利搭建和运行Django项目。


一、项目及应用

在 PyCharm 中创建 Django 项目及应用的步骤如下:

创建 Django 项目

  1. 打开 PyCharm:启动 PyCharm 应用程序。
  2. 创建新项目
    • 点击 "File" -> "New Project"。
    • 在 "New Project" 对话框中,选择 "Django" 作为项目类型。
  3. 配置项目设置
    • 项目名称:输入你的项目名称。
    • 项目位置:选择项目保存的目录。
    • Python 解释器:选择一个 Python 解释器。如果没有,可以创建一个新的虚拟环境。
    • Django settings
      • Django version:选择你想要使用的 Django 版本。
      • Enable Django admin:勾选此选项以启用 Django 的 admin 界面。
  4. 创建项目
    • 点击 "Create" 按钮,PyCharm 将为你创建一个新的 Django 项目。

创建 Django 应用

  1. 打开项目
    • 如果项目已经打开,可以直接进行下一步。如果没有,打开 PyCharm 并加载你的 Django 项目。
  2. 创建新应用
    • 在项目视图中,右键点击项目的根目录。
    • 选择 "New" -> "Django App"。
  3. 输入应用名称
    • 在弹出的对话框中,输入你想要创建的应用名称。
  4. 选择应用目录
    • 选择应用创建的位置,通常是在项目的根目录下。
  5. 完成创建
    • 点击 "OK" 按钮,PyCharm 将为你创建一个新的 Django 应用。
  6. 注册应用
    • 打开项目的 settings.py 文件,在 INSTALLED_APPS 列表中添加新创建的应用名称。例如:

      python 复制代码
      INSTALLED_APPS = [
          ...
          'your_app_name',
          ...
      ]

配置和测试

  • 运行项目
    • 在 PyCharm 中,找到并运行 manage.py runserver 命令,以启动 Django 开发服务器。
    • 打开浏览器,访问 http://127.0.0.1:8000/,确保项目能够正常运行。
  • 开发应用
    • 在新创建的应用目录中,你可以开始编写视图、模型、模板等。

通过这些步骤,你可以在 PyCharm 中顺利创建并配置一个 Django 项目及其应用,开始你的开发工作。

二、数据库的设置

在 Django 中创建应用时,数据库的设置主要在项目的 settings.py 文件中进行,而不是在应用创建时单独设置。以下是详细的步骤:

步骤 1: 创建 Django 项目

首先,确保你已经创建了一个 Django 项目。如果还没有,可以按照之前提到的步骤在 PyCharm 中创建一个新的 Django 项目。

步骤 2: 配置数据库

打开项目的 settings.py 文件,找到 DATABASES 配置部分。默认情况下,Django 使用 SQLite 数据库,配置如下:

python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

如果你想要使用其他类型的数据库(如 PostgreSQL、MySQL 等),需要进行相应的配置。以下是一些常见数据库的配置示例:

PostgreSQL
python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'localhost',  # 或者是数据库服务器的 IP 地址
        'PORT': '',  # 默认端口是 5432,可以不写
    }
}
MySQL
python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'localhost',  # 或者是数据库服务器的 IP 地址
        'PORT': '3306',  # 默认端口是 3306
    }
}

步骤 3: 安装必要的数据库驱动

对于非 SQLite 数据库,你需要安装相应的数据库驱动。例如:

  • PostgreSQL :安装 psycopg2

    bash 复制代码
    pip install psycopg2-binary
  • MySQL :安装 mysqlclient

    bash 复制代码
    pip install mysqlclient

步骤 4: 进行数据库迁移

在配置好数据库后,需要进行数据库迁移以创建数据库表结构。在 PyCharm 的终端中运行以下命令:

bash 复制代码
python manage.py makemigrations
python manage.py migrate

这些命令会根据你的模型定义生成数据库迁移文件,并应用这些迁移来创建数据库表。

步骤 5: 创建应用

在项目中创建应用时,数据库配置已经设置好了,应用将使用项目中配置的数据库。你可以通过以下步骤创建应用:

  • 在 PyCharm 的项目视图中,右键点击项目的根目录。
  • 选择 "New" -> "Django App"。
  • 输入应用名称并选择创建位置,然后点击 "OK"。

创建应用后,你可以在应用的 models.py 文件中定义数据模型,并通过 makemigrationsmigrate 命令来更新数据库结构。

通过以上步骤,你可以在创建 Django 应用时正确配置和使用数据库。

三、添加模板

在 Django 应用中添加模板的步骤如下:

步骤 1: 创建模板目录

首先,在你的 Django 应用目录中创建一个 templates 文件夹。这个文件夹将用于存放所有的 HTML 模板文件。

例如,假设你的应用名为 myapp,那么模板目录的结构可能如下:

myapp/
    models.py
    views.py
    ...
    templates/
        myapp/
            base.html
            index.html
            ...

步骤 2: 配置模板路径

确保 Django 能够找到你的模板文件。通常情况下,如果你按照上述结构创建模板目录,Django 会自动找到模板文件。不过,你也可以在项目的 settings.py 文件中显式配置模板路径:

python 复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'myapp/templates'],  # 添加模板目录路径
        'APP_DIRS': True,
        'OPTIONS': {
            # 其他配置...
        },
    },
]

步骤 3: 创建 HTML 模板文件

templates/myapp 目录中创建 HTML 文件。例如,创建一个 index.html 文件,内容如下:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>My App</title>
</head>
<body>
    <h1>Welcome to My App</h1>
    <p>This is the index page.</p>
</body>
</html>

步骤 4: 在视图中使用模板

在你的应用的 views.py 文件中,编写视图函数来渲染模板。使用 render 函数可以将模板与上下文数据结合并返回给用户。

例如:

python 复制代码
from django.shortcuts import render

def index(request):
    context = {'message': 'Hello, world!'}
    return render(request, 'myapp/index.html', context)

步骤 5: 配置 URL 路由

在你的应用的 urls.py 文件中,添加 URL 路由以指向你的视图函数。

例如:

python 复制代码
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

步骤 6: 运行服务器并测试

启动 Django 开发服务器,访问配置的 URL 路径,查看模板是否正确渲染。

bash 复制代码
python manage.py runserver

然后在浏览器中访问 http://127.0.0.1:8000/(假设你的应用 URL 路径为根路径),你应该能看到渲染后的 HTML 页面。

通过以上步骤,你可以在 Django 应用中成功添加和使用模板。

四、练习一

下面是一个简单但完整的 Django 项目示例,该项目将创建一个简单的博客应用,用户可以查看博客文章列表和单个文章的详细内容。

步骤 1: 创建 Django 项目

  1. 创建项目

    bash 复制代码
    django-admin startproject myblog
    cd myblog
  2. 创建应用

    bash 复制代码
    python manage.py startapp blog
  3. 注册应用

    myblog/settings.py 中的 INSTALLED_APPS 列表中添加 'blog'

    python 复制代码
    INSTALLED_APPS = [
        ...
        'blog',
    ]

步骤 2: 定义模型

blog/models.py 中定义博客文章的模型:

python 复制代码
from django.db import models

class 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

步骤 3: 迁移数据库

运行以下命令以创建数据库表:

bash 复制代码
python manage.py makemigrations
python manage.py migrate

步骤 4: 创建视图

blog/views.py 中创建视图:

python 复制代码
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})

步骤 5: 创建模板

blog/templates/blog 目录下创建两个 HTML 文件:post_list.htmlpost_detail.html

  • post_list.html:

    html 复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <title>Blog</title>
    </head>
    <body>
        <h1>Blog Posts</h1>
        <ul>
            {% for post in posts %}
            <li>
                <a href="{% url 'post_detail' post.pk %}">{{ post.title }}</a> - {{ post.created_at }}
            </li>
            {% endfor %}
        </ul>
    </body>
    </html>
  • post_detail.html:

    html 复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <title>{{ post.title }}</title>
    </head>
    <body>
        <h1>{{ post.title }}</h1>
        <p>{{ post.content }}</p>
        <a href="{% url 'post_list' %}">Back to list</a>
    </body>
    </html>

步骤 6: 配置 URL 路由

blog/urls.py 中配置 URL 路由:

python 复制代码
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'),
]

myblog/urls.py 中包含应用的 URL 配置:

python 复制代码
from django.contrib import admin
from django.urls import include, path

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

步骤 7: 运行服务器

启动 Django 开发服务器:

bash 复制代码
python manage.py runserver

步骤 8: 测试项目

打开浏览器,访问 http://127.0.0.1:8000/,你应该能看到博客文章列表。点击文章标题可以查看文章的详细内容。

步骤 9: 添加数据

你可以通过 Django admin 界面添加博客文章。首先,需要在 blog/admin.py 中注册模型:

python 复制代码
from django.contrib import admin
from .models import Post

admin.site.register(Post)

然后运行 python manage.py createsuperuser 创建一个管理员用户,登录 admin 界面(http://127.0.0.1:8000/admin/),添加一些博客文章。

这个简单的 Django 项目展示了如何创建一个基本的博客应用,包括模型、视图、模板和 URL 路由的配置。

五、练习二

使用 PyCharm 创建和运行一个简单的 Django 项目可以让你更高效地进行开发。以下是详细步骤:

步骤 1: 创建 Django 项目

  1. 打开 PyCharm

    • 启动 PyCharm 应用程序。
  2. 创建新项目

    • 点击 "File" -> "New Project"。
    • 在 "New Project" 对话框中,选择 "Django" 作为项目类型。
    • 输入项目名称(例如 myblog)。
    • 选择项目位置。
    • 选择 Python 解释器。如果没有,可以创建一个新的虚拟环境。
    • 勾选 "Enable Django admin" 选项以启用 Django 的 admin 界面.
    • 点击 "Create" 按钮,PyCharm 将为你创建一个新的 Django 项目.

步骤 2: 创建 Django 应用

  1. 打开项目

    • 如果项目已经打开,可以直接进行下一步。如果没有,打开 PyCharm 并加载你的 Django 项目.
  2. 创建新应用

    • 在项目视图中,右键点击项目的根目录(例如 myblog).
    • 选择 "New" -> "Django App"。
    • 输入应用名称(例如 blog).
    • 点击 "OK" 按钮,PyCharm 将为你创建一个新的 Django 应用.
    • myblog/settings.py 中的 INSTALLED_APPS 列表中自动添加 'blog'

步骤 3: 定义模型

  1. 打开 blog/models.py 文件
    • 定义博客文章的模型:

      python 复制代码
      from django.db import models
      
      class 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

步骤 4: 迁移数据库

  1. 打开 PyCharm 终端
    • 在 PyCharm 的底部工具栏中找到并打开 "Terminal"。

    • 运行以下命令以创建数据库表:

      bash 复制代码
      python manage.py makemigrations
      python manage.py migrate

步骤 5: 创建视图

  1. 打开 blog/views.py 文件
    • 创建视图函数:

      python 复制代码
      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})

步骤 6: 创建模板

  1. 创建模板目录

    • blog 应用目录下创建一个 templates 文件夹.
    • templates 文件夹中创建一个 blog 子文件夹.
    • blog/templates/blog 目录下创建两个 HTML 文件:post_list.htmlpost_detail.html.
  2. 编写模板文件

    • post_list.html:

      html 复制代码
      <!DOCTYPE html>
      <html>
      <head>
          <title>Blog</title>
      </head>
      <body>
          <h1>Blog Posts</h1>
          <ul>
              {% for post in posts %}
              <li>
                  <a href="{% url 'post_detail' post.pk %}">{{ post.title }}</a> - {{ post.created_at }}
              </li>
              {% endfor %}
          </ul>
      </body>
      </html>
    • post_detail.html:

      html 复制代码
      <!DOCTYPE html>
      <html>
      <head>
          <title>{{ post.title }}</title>
      </head>
      <body>
          <h1>{{ post.title }}</h1>
          <p>{{ post.content }}</p>
          <a href="{% url 'post_list' %}">Back to list</a>
      </body>
      </html>

步骤 7: 配置 URL 路由

  1. 创建 blog/urls.py 文件

    • 配置 URL 路由:

      python 复制代码
      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'),
      ]
  2. myblog/urls.py 中包含应用的 URL 配置

    • 修改 myblog/urls.py 文件:

      python 复制代码
      from django.contrib import admin
      from django.urls import include, path
      
      urlpatterns = [
          path('admin/', admin.site.urls),
          path('', include('blog.urls')),
      ]

步骤 8: 运行服务器

  1. 运行 Django 开发服务器
    • 在 PyCharm 的 "Run" 菜单中选择 "Run 'manage.py runserver'",或者直接在终端中运行:

      bash 复制代码
      python manage.py runserver

步骤 9: 测试项目

  1. 访问项目
    • 打开浏览器,访问 http://127.0.0.1:8000/,你应该能看到博客文章列表.
    • 点击文章标题可以查看文章的详细内容.

步骤 10: 添加数据

  1. 注册模型到 admin

    • 打开 blog/admin.py 文件:

      python 复制代码
      from django.contrib import admin
      from .models import Post
      
      admin.site.register(Post)
  2. 创建管理员用户

    • 在 PyCharm 终端中运行:

      bash 复制代码
      python manage.py createsuperuser
    • 按照提示输入用户名、邮箱和密码.

  3. 登录 admin 界面

    • 访问 http://127.0.0.1:8000/admin/,使用创建的管理员账户登录.
    • 在 admin 界面中添加一些博客文章.

通过以上步骤,你可以在 PyCharm 中创建并运行一个简单的 Django 项目,实现基本的博客功能。

相关推荐
qq_49244844613 分钟前
python测试selenium等待时间,并输出log,设置log级别
开发语言·python
96773 小时前
如何将 Jupyter Notebook (.ipynb) 文件转换为 Python (.py) 文件
linux·python·jupyter
邹霍梁@开源软件GoodERP4 小时前
《手札·数转篇》中小制造企业的信息化升级:MES系统的价值与应用
python·开源·制造
虾球xz6 小时前
游戏引擎学习第92天
python·学习·游戏引擎
AuGuSt_816 小时前
【已解决】lxml.etree.ParserError: Document is empty
爬虫·python
九亿AI算法优化工作室&6 小时前
KOA优化最近邻分类预测matlab
人工智能·python·机器学习·matlab·分类·数据挖掘·回归
程序员东min6 小时前
Python:凯撒密码
python·算法
是十一月末6 小时前
深度学习之神经网络框架搭建及模型优化
人工智能·pytorch·python·深度学习·神经网络