Python实例题:Django搭建简易博客
目录
Python实例题
题目
1. 创建 Django 项目和应用
2. 配置项目
3. 设计模型
blog_app
templates
blog_app
post_list.html
admin.py
models.py
urls.py
views.py
blog_project
urls.py
代码解释
models.py:
admin.py:
urls.py(应用):
views.py:
urls.py(项目):
post_list.html:
运行项目
注意事项
Python实例题
题目
Django搭建简易博客
1. 创建 Django 项目和应用
首先,确保你已经安装了 Django。如果没有安装,可以使用以下命令进行安装:
pip install django
接着,创建一个新的 Django 项目和应用:
django-admin startproject blog_project
cd blog_project
python manage.py startapp blog_app
2. 配置项目
在 blog_project/settings.py
中,将 blog_app
添加到 INSTALLED_APPS
列表里:
INSTALLED_APPS = [# ...'blog_app',
]
3. 设计模型
在 blog_app/models.py
中定义博客文章的模型:
blog_app
templates
blog_app
post_list.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>博客文章列表</title>
</head>
<body><h1>博客文章列表</h1>{% for post in posts %}<h2><a href="#">{{ post.title }}</a></h2><p>{{ post.content }}</p><p>发布日期: {{ post.pub_date }}</p>{% endfor %}
</body>
</html>
admin.py
from django.contrib import admin
from .models import Postadmin.site.register(Post)
models.py
from django.db import models
from django.utils import timezoneclass Post(models.Model):title = models.CharField(max_length=200)content = models.TextField()pub_date = models.DateTimeField(default=timezone.now)def __str__(self):return self.title
urls.py
from django.urls import path
from . import viewsurlpatterns = [path('', views.post_list, name='post_list'),
]
views.py
from django.shortcuts import render
from .models import Postdef post_list(request):posts = Post.objects.order_by('-pub_date')return render(request, 'blog_app/post_list.html', {'posts': posts})
blog_project
urls.py
from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('', include('blog_app.urls')),
]
代码解释
-
models.py
:- 定义了
Post
模型,包含文章的标题、内容和发布日期。__str__
方法用于在管理界面等地方显示文章的标题。
- 定义了
-
admin.py
:- 将
Post
模型注册到 Django 管理界面,方便在后台管理文章。
- 将
-
urls.py
(应用):- 定义了应用的 URL 路由,将根路径映射到
post_list
视图函数。
- 定义了应用的 URL 路由,将根路径映射到
-
views.py
:post_list
视图函数从数据库中获取所有文章,并按发布日期降序排列,然后将文章列表传递给post_list.html
模板进行渲染。
-
urls.py
(项目):- 将应用的 URL 路由集成到项目中,使项目能够处理来自博客应用的请求。
-
post_list.html
:- HTML 模板用于显示文章列表,通过 Django 的模板语法遍历文章列表并显示文章的标题、内容和发布日期。
运行项目
- 执行数据库迁移命令:
python manage.py makemigrations
python manage.py migrate
- 创建超级用户,用于登录 Django 管理界面:
python manage.py createsuperuser
- 启动开发服务器:
python manage.py runserver
- 打开浏览器,访问
http://127.0.0.1:8000/
可以看到博客文章列表。访问http://127.0.0.1:8000/admin/
可以登录管理界面添加、编辑和删除文章。
注意事项
- 这只是一个简易博客的基础框架,你可以根据需求进一步扩展,如添加文章详情页、评论功能、用户认证等。
- 在生产环境中,需要进行更多的配置,如数据库优化、静态文件处理、安全设置等。