Django开发个人博客基本示例

以下是一个简单的 Django 个人博客开发示例。在这里只概述基本步骤和代码。请确保你已经安装了 Python 和 Django。

  1. 创建一个新的 Django 项目
bash 复制代码
django-admin startproject myblog
  1. 进入项目目录并创建一个新的应用
bash 复制代码
cd myblog

python manage.py startapp blog
  1. blog/models.py 中定义你的博客模型
python 复制代码
from django.db import models



class BlogPost(models.Model):

	title = models.CharField(max_length=200)

	content = models.TextField()

	date_posted = models.DateTimeField(auto_now_add=True)



	def __str__(self):

		return self.title
  1. blog/views.py 中创建视图来显示博客帖子
python 复制代码
from django.shortcuts import render

from .models import BlogPost



def blog_home(request):

	posts = BlogPost.objects.all()

	return render(request, 'blog/home.html', {'posts': posts})
  1. blog/urls.py 中创建 URL 路由
python 复制代码
from django.urls import path

from . import views



urlpatterns = [

	path('', views.blog_home, name='blog-home'),

]
  1. myblog/urls.py 中包含博客应用的 URL
python 复制代码
from django.contrib import admin

from django.urls import include, path



urlpatterns = [

	path('admin/', admin.site.urls),

	path('blog/', include('blog.urls')),

]
  1. 创建模板文件 blog/templates/blog/home.html
html 复制代码
{% for post in posts %}

<h2>{{ post.title }}</h2>

<p>{{ post.content }}</p>

<p>{{ post.date_posted }}</p>

<hr>

{% endfor %}
  1. blog/admin.py 中注册你的模型,以便在 Django 管理后台中看到它
python 复制代码
from django.contrib import admin

from .models import BlogPost



admin.site.register(BlogPost)
  1. 迁移数据库
bash 复制代码
python manage.py makemigrations

python manage.py migrate
  1. 运行服务器
bash 复制代码
python manage.py runserver

现在,你应该可以在浏览器中访问 http://localhost:8000/blog/ 来查看你的博客帖子。你也可以通过 Django 管理后台 http://localhost:8000/admin/ 添加、编辑和删除博客帖子。

以上只是一个基本的示例,实际的博客应用可能需要更复杂的功能,例如用户认证、评论、标签、搜索等。

相关推荐
齐 飞14 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
云空15 分钟前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
暮毅19 分钟前
10.Node.js连接MongoDb
数据库·mongodb·node.js
wowocpp22 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
成富1 小时前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle
songqq271 小时前
SQL题:使用hive查询各类型专利top 10申请人,以及对应的专利申请数
数据库·sql
计算机学长felix1 小时前
基于SpringBoot的“校园交友网站”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·毕业设计·交友
小码的头发丝、2 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
Karoku0662 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
周全全2 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql