用Django框架快速搭建博客
阅读文本大概需要 5 分钟。
上次 2 篇文章给大家分享了 Django 搭建的基本知识,今天就把 Django 基本知识串起来,搭建一个简单的博客网站。
项目环境语言:Python 3.6
编辑器:Pycharm
主要步骤创建项目
创建 APP
创建跳转路由
定义博客模块
同步数据库
访问Django后台
配置后台字段
修改页面视图
博客展示
Djagon 安装和环境搭建前两篇文章讲得比较详细,本文不会细讲,还没上车的请点击下方链接:
Python框架Django入门:环境及项目搭建
Python框架Django:页面渲染和数据库应用
创建 Django 项目有三种方式,具体参考 Python框架Django入门:环境及项目搭建,常见的方式是在 cmd 中输入以下命令创建,然后在 Pycharm 中打开此项目目录。
django-adminstartprojectmysite
创建 APP
在 Pycharm 下方的 Terminal 终端窗口输入下面命令创建一个名称为「blog」的 APP。
python3manage.pystartappblog
在 mysite/settings.py 中 INSTALLED_APPS 列表里新增 blog 应用。
创建好后项目目录结构如下
创建跳转路由在 mysite/urls.py 中定义两个链接跳转路由,一个是管理后台的 admin,一个是查看博客的 blog。(左右滑动查看全部代码)
fromdjango.contribimportadmin
定义博客模块
fromdjango.urlsimportpath
fromblogimportviews
urlpatterns=[
path('admin/',admin.site.urls),
path('blog/',views.blog_index),
]
在 blog/models.py 中创建模块,定义一个 Blog 类,在类里面定义博客的标题、内容、创建时间。
fromdjango.dbimportmodels
同步数据库
#Createyourmodelshere.
classBlog(models.Model):
title=models.CharField(max_length=150)#博客标题
body=models.TextField()#博客内容
timestamp=models.DateTimeField()#博客创建时间
数据库信息有修改的话我们需要通过以下两个命令对它进行同步。(左右滑动查看全部代码)
F:\djangopjt\mysite>python3manage.pymakemigrationsblog
访问Django后台
Migrationsfor'blog':
blog\migrations\0001_initial.py
-CreatemodelBlogPost
F:\djangopjt\mysite>python3manage.pymigrate
Operationstoperform:
Applyallmigrations:admin,auth,blog,contenttypes,sessions
Runningmigrations:
Applyingblog.0001_initial...OK
之前分享的文章中Python框架Django:页面渲染和数据库应用分享过如何创建 admin 后台账号和密码,其实也很简单,一条命令即可创建。
F:\djangopjt\mysite>python3manage.pycreatesuperuser
Username(leaveblanktouse'guixianyang'):brucepk
Emailaddress:brucepk@main.com
Password:
Password(again):
Superusercreatedsuccessfully.
创建好超级管理员账号和密码后,启动服务后就可以登录了。
配置后台字段为了方便在后台对刚定义的三个字段进行可视化修改,我们在 blog/admin.py 中将刚才定义的三个字段放在列表中。(左右滑动查看全部代码)
fromdjango.contribimportadmin
fromblog.modelsimportBlog
#Registeryourmodelshere.
classBlogsAdmin(admin.ModelAdmin):
list=['title','body','timestamp']
admin.site.register(Blog,BlogsAdmin)
通过 runserver 命令启动服务。
F:\djangopjt\mysite>python3manage.pyrunserver
Performingsystemchecks...
Systemcheckidentifiednoissues(0silenced).
November01,2018-11:12:07
Djangoversion2.1.1,usingsettings'mysite.settings'
Startingdevelopmentserverathttp://127.0.0.1:8000/
QuittheserverwithCTRL-BREAK.
打开后台地址 http://127.0.0.1:8000/admin/ 就可以自定义刚才的新增的三个字段了,输入内容后,点击下方 SAVE 按钮保存内容。
修改页面视图1、我先在 blog 目录里新建一个 templates 文件夹,在此文件夹里新建 index.html 文件。为了让页面看起来炫酷些,我们可以去 Bootstrap 看看,Bootstrap 是一个前端开发框架,在官网可以找到相应的前端框架实例 ,右键查看源码,复制过来就好。我选择了一个比较简单的模板,模板地址:https://v3.bootcss.com/examples/starter-template/ ,把源代码复制过来放在 index.html 文件里。
2、在 blog/views.py 文件中定义方法去请求数据库中的所有数据并放在 index.html 的样式中。
fromdjango.shortcutsimportrender
博客展示
fromblog.modelsimportBlog
#Createyourviewshere.
defblog_index(request):
blog_list=Blog.objects.all()#获取数据库中所有数据
returnrender(request,'index.html',{'blog_list':blog_list})#返回index.html页面
最后通过命令启动服务,打开 blog 网站,就可以看到我们自己定义的视图和内容了。
这样,一个简易的博客模型就出来了,后面再根据自己的需求对博客进行优化,比如,博客内容的格式优化,增加博客评论系统等等。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。