青少年编程与数学 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 项目
- 打开 PyCharm:启动 PyCharm 应用程序。
- 创建新项目 :
- 点击 "File" -> "New Project"。
- 在 "New Project" 对话框中,选择 "Django" 作为项目类型。
- 配置项目设置 :
- 项目名称:输入你的项目名称。
- 项目位置:选择项目保存的目录。
- Python 解释器:选择一个 Python 解释器。如果没有,可以创建一个新的虚拟环境。
- Django settings :
- Django version:选择你想要使用的 Django 版本。
- Enable Django admin:勾选此选项以启用 Django 的 admin 界面。
- 创建项目 :
- 点击 "Create" 按钮,PyCharm 将为你创建一个新的 Django 项目。
创建 Django 应用
- 打开项目 :
- 如果项目已经打开,可以直接进行下一步。如果没有,打开 PyCharm 并加载你的 Django 项目。
- 创建新应用 :
- 在项目视图中,右键点击项目的根目录。
- 选择 "New" -> "Django App"。
- 输入应用名称 :
- 在弹出的对话框中,输入你想要创建的应用名称。
- 选择应用目录 :
- 选择应用创建的位置,通常是在项目的根目录下。
- 完成创建 :
- 点击 "OK" 按钮,PyCharm 将为你创建一个新的 Django 应用。
- 注册应用 :
-
打开项目的
settings.py
文件,在INSTALLED_APPS
列表中添加新创建的应用名称。例如:pythonINSTALLED_APPS = [ ... 'your_app_name', ... ]
-
配置和测试
- 运行项目 :
- 在 PyCharm 中,找到并运行
manage.py runserver
命令,以启动 Django 开发服务器。 - 打开浏览器,访问
http://127.0.0.1:8000/
,确保项目能够正常运行。
- 在 PyCharm 中,找到并运行
- 开发应用 :
- 在新创建的应用目录中,你可以开始编写视图、模型、模板等。
通过这些步骤,你可以在 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
包bashpip install psycopg2-binary
-
MySQL :安装
mysqlclient
包bashpip install mysqlclient
步骤 4: 进行数据库迁移
在配置好数据库后,需要进行数据库迁移以创建数据库表结构。在 PyCharm 的终端中运行以下命令:
bash
python manage.py makemigrations
python manage.py migrate
这些命令会根据你的模型定义生成数据库迁移文件,并应用这些迁移来创建数据库表。
步骤 5: 创建应用
在项目中创建应用时,数据库配置已经设置好了,应用将使用项目中配置的数据库。你可以通过以下步骤创建应用:
- 在 PyCharm 的项目视图中,右键点击项目的根目录。
- 选择 "New" -> "Django App"。
- 输入应用名称并选择创建位置,然后点击 "OK"。
创建应用后,你可以在应用的 models.py
文件中定义数据模型,并通过 makemigrations
和 migrate
命令来更新数据库结构。
通过以上步骤,你可以在创建 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 项目
-
创建项目:
bashdjango-admin startproject myblog cd myblog
-
创建应用:
bashpython manage.py startapp blog
-
注册应用 :
在
myblog/settings.py
中的INSTALLED_APPS
列表中添加'blog'
:pythonINSTALLED_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.html
和 post_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 项目
-
打开 PyCharm:
- 启动 PyCharm 应用程序。
-
创建新项目:
- 点击 "File" -> "New Project"。
- 在 "New Project" 对话框中,选择 "Django" 作为项目类型。
- 输入项目名称(例如
myblog
)。 - 选择项目位置。
- 选择 Python 解释器。如果没有,可以创建一个新的虚拟环境。
- 勾选 "Enable Django admin" 选项以启用 Django 的 admin 界面.
- 点击 "Create" 按钮,PyCharm 将为你创建一个新的 Django 项目.
步骤 2: 创建 Django 应用
-
打开项目:
- 如果项目已经打开,可以直接进行下一步。如果没有,打开 PyCharm 并加载你的 Django 项目.
-
创建新应用:
- 在项目视图中,右键点击项目的根目录(例如
myblog
). - 选择 "New" -> "Django App"。
- 输入应用名称(例如
blog
). - 点击 "OK" 按钮,PyCharm 将为你创建一个新的 Django 应用.
- 在
myblog/settings.py
中的INSTALLED_APPS
列表中自动添加'blog'
。
- 在项目视图中,右键点击项目的根目录(例如
步骤 3: 定义模型
- 打开
blog/models.py
文件 :-
定义博客文章的模型:
pythonfrom 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: 迁移数据库
- 打开 PyCharm 终端 :
-
在 PyCharm 的底部工具栏中找到并打开 "Terminal"。
-
运行以下命令以创建数据库表:
bashpython manage.py makemigrations python manage.py migrate
-
步骤 5: 创建视图
- 打开
blog/views.py
文件 :-
创建视图函数:
pythonfrom 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: 创建模板
-
创建模板目录:
- 在
blog
应用目录下创建一个templates
文件夹. - 在
templates
文件夹中创建一个blog
子文件夹. - 在
blog/templates/blog
目录下创建两个 HTML 文件:post_list.html
和post_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>
-
步骤 7: 配置 URL 路由
-
创建
blog/urls.py
文件:-
配置 URL 路由:
pythonfrom 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 配置:-
修改
myblog/urls.py
文件:pythonfrom django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('blog.urls')), ]
-
步骤 8: 运行服务器
- 运行 Django 开发服务器 :
-
在 PyCharm 的 "Run" 菜单中选择 "Run 'manage.py runserver'",或者直接在终端中运行:
bashpython manage.py runserver
-
步骤 9: 测试项目
- 访问项目 :
- 打开浏览器,访问
http://127.0.0.1:8000/
,你应该能看到博客文章列表. - 点击文章标题可以查看文章的详细内容.
- 打开浏览器,访问
步骤 10: 添加数据
-
注册模型到 admin:
-
打开
blog/admin.py
文件:pythonfrom django.contrib import admin from .models import Post admin.site.register(Post)
-
-
创建管理员用户:
-
在 PyCharm 终端中运行:
bashpython manage.py createsuperuser
-
按照提示输入用户名、邮箱和密码.
-
-
登录 admin 界面:
- 访问
http://127.0.0.1:8000/admin/
,使用创建的管理员账户登录. - 在 admin 界面中添加一些博客文章.
- 访问
通过以上步骤,你可以在 PyCharm 中创建并运行一个简单的 Django 项目,实现基本的博客功能。