python关于Django搭建简单博客项目(教程)
由于csdn各种django blog博文都有或多或少的bug,所以我决定自己写一篇,先附上教程,详解在另一篇博文里,为了便于大家复制粘贴,本文代码尽量不使用图片。
源代码及解析文章请在我的github账户:https://github.com/Cheng0829/mysite自行下载。
首先,肯定要安装django,可以在cmd命令行输入:
D:/>pip install django
接下来,就开始在构建博客了,在命令行输入
D:/>django-admin startproject mysite
django会在当前目录创建一个mysite文件夹,然后
D:/>cd mysite
D:/mysite>
D:/mysite>python manage.py startapp blog
此时在mysite下多了一个blog文件夹,打开其中的setting.py,添加blog应用。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', #在此处添加blog,注意末尾加上逗号
]
接下来,需要执行数据库同步,生成相关文件表。此处作为新手,均采用默认配置。
D:/mysite>python manage.py migrate

接下来就是创建账户了

其中由于保密机制,输入的密码是不可视化的。
然后,启动blog应用:

这时,在浏览器输入 http://127.0.0.1:8000/,就可进入主页面了。
访问admin后台:http://127.0.0.1:8000/admin输入之前创建的管理员账号和密码
就可以访问后台了。
此时,可以在setting.py中修改语言和时区:

然后打开blog文件下的models.py文件:
from django.db import models
# Create your models here.
class BlogsPost(models.Model):
title=models.CharField(max_length=120)
body=models.TextField()
timestamp=models.DateTimeField()
然后同步数据库:

接下来在admin.py注册信息:
from django.contrib import admin
from blog.models import BlogsPost
# Register your models here.
class BlogsPostAdmin(admin.ModelAdmin):
list_display = ['title', 'body', 'timestamp']
admin.site.register(BlogsPost, BlogsPostAdmin)
启动项目,就可以在admin后台添加项目了:

此时再次连接数据库:
D:\mysite>python manage.py makemigrations
D:\mysite>python manage.py migrate


此时已经搭建好基本框架了,接下来就写封面了:
先创建模板,在blog文件夹下新建templates文件,在该文件下添加 index.html,内容为:
{% for blog in blog_list %}
<h2>{{ blog.title }}</h2>
<p>{{ blog.timestamp }}</p>
<p>{{ blog.body }}</p>
{% endfor %}
这是模板语言。
接下来,写views.py文件;
from django.shortcuts import render
from blog.models import BlogsPost
# Create your views here.
def blog_index(request):
blog_list = BlogsPost.objects.all() # 获取所有数据
return render(request, 'index.html', {'blog_list': blog_list})
再编写urls.py文件:
from django.conf.urls import url
from django.contrib import admin
from blog import views
urlpatterns = [
url('admin/', admin.site.urls),
url(r'^blog/$',views.blog_index,name='index'),
]
此时再次启动服务,访问http://127.0.0.1:8000/blog/,即可看见可视化博客。

可以在后台添加多个项目,刷新此页面,会把所有博客信息都显示出来。
所有源代码和解析:https://github.com/Cheng0829/mysite
若需看详解,请翻阅下一篇博文。
python关于Django搭建简单博客项目(教程)的更多相关文章
- python关于Django搭建简单博客项目(详解一)
上一篇我们说了如何搭建简易博客网站,下面我们来进行详细解答.本文没有特定顺序,请结合上一篇和源代码参照学习. 相关源代码和解析请参看:https://github.com/Cheng0829/mysi ...
- python关于Django搭建简单博客项目 详解二-setting.py
这一篇我们来讲解setting.py,具体内容以注释形式写入到下面的setting.py代码中,篇幅所限已把官方所给英文注释删除. 全部源代码和详解请参看http://github.com/Cheng ...
- Django搭建简易博客
Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...
- Django搭建简易博客教程(四)-Models
原文链接: http://www.jianshu.com/p/dbc4193b4f95 Django Model 每一个Django Model都继承自django.db.models.Model 在 ...
- Django之BBS博客项目
一.登陆功能(验证码) from geetest import GeetestLib from django.contrib import auth #使用极验滑动验证码的登陆 def login(r ...
- 【玩转 WordPress】基于 Serverless 搭建个人博客图文教程,学生党首选!
以下内容来自「玩转腾讯云」用户原创文章,已获得授权. 01. 什么是 Serverless? 1. Serverless 官方定义 Serverless 中的 Server是服务器的意思,less 是 ...
- 用Django搭建个人博客—(1)
业精于勤荒于嬉,形成于思毁于随. 本阶段的任务小记: 简单介绍一下Django的使用,创建项目和一个app 简单介绍一下Django的settings.py文件的相关配置 整合数据库到自己的博客系统中 ...
- Django 搭建简易博客
新增一个 APP 博客算是一个功能集,因此我们应将其体现为一个模块.这表现在 Django 应用里则是为其创建一个 APP Package.现在让 manage.py 中的 startapp 闪亮登场 ...
- 用Django搭建个人博客—(2)
今日任务: 1 blog的数据库模型定义 2 简单的注册登录功能的实现 项目的源文件已经推送到git@oschina.net. 所以,如果想要参阅源码的请移步 (Fork) http://git.os ...
随机推荐
- 开源有魔力 - DolphinScheduler 的 Apache 之路
关于 Apache DolphinScheduler社区 Apache DolphinScheduler(incubator) 于17年在易观数科立项,19年3月开源, 19 年8月进入Apache ...
- React报错之Expected an assignment or function call and instead saw an expression
正文从这开始~ 总览 当我们忘记从函数中返回值时,会产生"Expected an assignment or function call and instead saw an express ...
- 定制化JDK升级引发的离奇事件
1.背景 由于Oracle对外宣称Oracle JDK停止免费用于商用.公司法务部门评估之后担心后续会惹上光司,于是就开始了JDK升级-将所有服务Oracle修改为OpenJDK.上周开始微服务JDK ...
- SiteSucker Pro for Mac 专业的网站下载工具
SiteSucker Mac版是Mac os平台上的一款帮助用户下载数据的mac下载工具,SiteSucker绝对是一扒网站的利器,不仅仅是下载网站的HTML源文件,他连网站整体架构以及下面的所有文本 ...
- 【JAVA】学习路径64-补充-编写一个会抛异常的方法
有一些方法,在调用的时候有可能会出错,所以我们使用这些方法的时候会使用try catch. 比如InputStream里面的read()方法等等,那么这些方法是怎么实现抛异常的效果的呢? 能抛异常的方 ...
- 【Java】学习路径52-Timer计时器实例
import java.util.Timer; import java.util.TimerTask; public class TimerClass { public static void mai ...
- 【读书笔记】C#高级编程 第二十一章 任务、线程和同步
(一)概述 所有需要等待的操作,例如,因为文件.数据库或网络访问都需要一定的时间,此时就可以启动一个新的线程,同时完成其他任务. 线程是程序中独立的指令流. (二)Paraller类 Paraller ...
- 《现代操作系统(中文第四版)》实验一 bash脚本实现cal
题目大意:让你写一个bash脚本,实现与linux下cal相同的效果 学习bash语言题,除了区别和c++有亿点区别外其他都还好 1 monName=("invalid" &quo ...
- Java代码审计之不安全的Java代码
Java代码审计之不安全的Java代码 在打靶场的同时,需要想一下如果你是开发人员你会怎样去防御这种漏洞,而作为攻击方你又怎么去绕过开发人员的防御. 环境搭建 https://github.com ...
- Django 使用Pycharm 创建工程
一.Pycharm 创建Django 工程 事实上,我们一般不使用命令行,而是直接在Pycharm 中创建Django 项目. Pycharm 是进行Django 开发的最佳 IDE,请大家自行安装, ...