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

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

相关推荐
luckys.one3 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
言之。4 小时前
Django中的软删除
数据库·django·sqlite
阿里嘎多哈基米6 小时前
SQL 层面行转列
数据库·sql·状态模式·mapper·行转列
抠脚学代码6 小时前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu
jakeswang6 小时前
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
数据库·mysql
Heliotrope_Sun6 小时前
Redis
数据库·redis·缓存
一成码农7 小时前
MySQL问题7
数据库·mysql
吃饭最爱7 小时前
JUnit技术的核心和用法
数据库·oracle·sqlserver
专注API从业者7 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
java1234_小锋7 小时前
[免费]基于Python的协同过滤电影推荐系统(Django+Vue+sqlite+爬虫)【论文+源码+SQL脚本】
python·django·电影推荐系统·协同过滤