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/ 添加、编辑和删除博客帖子。

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

相关推荐
SL_staff15 分钟前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员
农村小镇哥1 小时前
C#读取CSV文件的方法
服务器·数据库·c#
IMPYLH1 小时前
HTML 的 <embed> 元素
前端·数据库·html
油丶酸萝卜别吃2 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存
深念Y2 小时前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
whn19772 小时前
oracle 的ora-19633处理
数据库·oracle
x-cmd2 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
小弥儿2 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
swordbob2 小时前
mysql数据库,明明有索引为啥不用
数据库·mysql
晴天¥3 小时前
Oracle ASM、ACFS、FLEX ASM三者之间的关系?
数据库·oracle