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

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

相关推荐
Arbori_262153 分钟前
oracle update 原理
数据库·oracle
唐古乌梁海23 分钟前
【Django】教程-11-ajax弹窗实现增删改查
ajax·django
唐古乌梁海1 小时前
【Django】教程-14-验证码+登录页
django
hxung1 小时前
Spring @Transactional 注解
数据库·spring·oracle
MarkHD1 小时前
第十二天 - Flask/Django基础 - REST API开发 - 练习:运维管理后台API
运维·django·flask
追逐时光者2 小时前
精选 4 款免费且实用的数据库管理工具,程序员必备!
数据库
生命有所坚持而生存可以随遇而安2 小时前
MySQL5.7数据库部署和安装
数据库·adb
未来的资深Java架构师2 小时前
MySQL报Lock wait timeout exceeded; try restarting transaction
数据库·mysql
kikyo哎哟喂2 小时前
MongoDB常见面试题总结(上)
数据库·mongodb
孙同学_2 小时前
【MySQL】002.MySQL数据库基础
数据库·mysql