python快速搭建网页_用Django框架快速搭建简易博客

本文介绍使用Django框架创建一个简单的个人博客网站的过程,包括项目搭建、数据库设置、后台配置及页面展示等关键步骤。

上次 2 篇文章给大家分享了 Django 搭建的基本知识。今天就把 Django 基本知识串起来,搭建一个简单的博客网站。

项目环境

语言:Python 3.6

编辑器:Pycharm

主要步骤

创建项目

创建 APP

创建跳转路由

定义博客模块

同步数据库

访问Django后台

配置后台字段

修改页面视图

博客展示

Djagon 安装和环境搭建前两篇文章讲得比较详细,本文不会细讲,还没上车的请点击下方链接:

创建项目

创建 Django 项目有三种方式,具体参考 Django框架入门教程,常见的方式是在 cmd 中输入以下命令创建,然后在 Pycharm 中打开此项目目录。

Python

django-admin startproject mysite

1

django-admin startproject mysite

创建 APP

在 Pycharm 下方的 Terminal 终端窗口输入下面命令创建一个名称为「blog」的 APP。

Python

python3 manage.py startapp blog

1

python3 manage.py startapp blog

在 mysite/settings.py 中 INSTALLED_APPS 列表里新增 blog 应用。

RRG4ZU8UO3Z8SXGE8D5.png

创建好后项目目录结构如下

N2YXZDGRLVP1PFDDPKZM.png

创建跳转路由

在 mysite/urls.py 中定义两个链接跳转路由,一个是管理后台的 admin,一个是查看博客的 blog。(左右滑动查看全部代码)

Python

from django.contrib import admin

from django.urls import path

from blog import views

urlpatterns = [

path('admin/', admin.site.urls),

path('blog/', views.blog_index),

]

1

2

3

4

5

6

7

8

fromdjango.contribimportadmin

fromdjango.urlsimportpath

fromblogimportviews

urlpatterns=[

path('admin/',admin.site.urls),

path('blog/',views.blog_index),

]

定义博客模块

在 blog/models.py 中创建模块,定义一个 Blog 类,在类里面定义博客的标题、内容、创建时间。

Python

from django.db import models

# Create your models here.

class Blog(models.Model):

title = models.CharField(max_length=150) # 博客标题

body = models.TextField() # 博客内容

timestamp =models.DateTimeField() # 博客创建时间

1

2

3

4

5

6

7

8

9

fromdjango.dbimportmodels

# Create your models here.

classBlog(models.Model):

title=models.CharField(max_length=150)# 博客标题

body=models.TextField()# 博客内容

timestamp=models.DateTimeField()# 博客创建时间

同步数据库

数据库信息有修改的话我们需要通过以下两个命令对它进行同步。(左右滑动查看全部代码)

Python

F:\djangopjt\mysite>python3 manage.py makemigrations blog

Migrations for 'blog':

blog\migrations\0001_initial.py

- Create model BlogPost

F:\djangopjt\mysite>python3 manage.py migrate

Operations to perform:

Apply all migrations: admin, auth, blog, contenttypes, sessions

Running migrations:

Applying blog.0001_initial... OK

1

2

3

4

5

6

7

8

9

10

F:\djangopjt\mysite>python3manage.pymakemigrationsblog

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

访问Django后台

之前分享的文章中 Python框架Django:页面渲染和数据库应用 分享过如何创建 admin 后台账号和密码,其实也很简单,一条命令即可创建。

Python

F:\djangopjt\mysite>python3 manage.py createsuperuser

Username (leave blank to use 'guixianyang'): brucepk

Email address: brucepk@main.com

Password:

Password (again):

Superuser created successfully.

1

2

3

4

5

6

F:\djangopjt\mysite>python3manage.pycreatesuperuser

Username(leaveblanktouse'guixianyang'):brucepk

Emailaddress:brucepk@main.com

Password:

Password(again):

Superusercreatedsuccessfully.

创建好超级管理员账号和密码后,启动服务后就可以登录了。

配置后台字段

为了方便在后台对刚定义的三个字段进行可视化修改,我们在 blog/admin.py 中将刚才定义的三个字段放在列表中。(左右滑动查看全部代码)

Python

from django.contrib import admin

from blog.models import Blog

# Register your models here.

class BlogsAdmin(admin.ModelAdmin):

list = ['title', 'body', 'timestamp']

admin.site.register(Blog, BlogsAdmin)

1

2

3

4

5

6

7

8

9

10

11

fromdjango.contribimportadmin

fromblog.modelsimportBlog

# Register your models here.

classBlogsAdmin(admin.ModelAdmin):

list=['title','body','timestamp']

admin.site.register(Blog,BlogsAdmin)

通过 runserver 命令启动服务。

Python

F:\djangopjt\mysite>python3 manage.py runserver

Performing system checks...

System check identified no issues (0 silenced).

November 01, 2018 - 11:12:07

Django version 2.1.1, using settings 'mysite.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CTRL-BREAK.

1

2

3

4

5

6

7

8

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 按钮保存内容。

4E4O1ILGEHE92PQMKY.jpg

修改页面视图

1、我先在 blog 目录里新建一个 templates 文件夹,在此文件夹里新建 index.html 文件。为了让页面看起来炫酷些,我们可以去 Bootstrap 看看,Bootstrap 是一个前端开发框架,在官网可以找到相应的前端框架实例 ,右键查看源码,复制过来就好。我选择了一个比较简单的模板,模板地址:https://v3.bootcss.com/examples/starter-template/ ,把源代码复制过来放在 index.html 文件里。

HT3WT6JKSBS0UP9T@HN.jpg

SO@574JZJI1SA7PHZ0O.jpg

2、在 blog/views.py 文件中定义方法去请求数据库中的所有数据并放在 index.html 的样式中。

Python

from django.shortcuts import render

from blog.models import Blog

# Create your views here.

def blog_index(request):

blog_list = Blog.objects.all() # 获取数据库中所有数据

return render(request, 'index.html', {'blog_list': blog_list}) # 返回index.html页面

1

2

3

4

5

6

7

8

9

fromdjango.shortcutsimportrender

fromblog.modelsimportBlog

# Create your views here.

defblog_index(request):

blog_list=Blog.objects.all()# 获取数据库中所有数据

returnrender(request,'index.html',{'blog_list':blog_list})# 返回index.html页面

博客展示

最后通过命令启动服务,打开 blog 网站,就可以看到我们自己定义的视图和内容了。

F4B489@0KYANPA_6EG.jpg

这样,一个简易的博客模型就出来了,后面再根据自己的需求对博客进行优化,比如,博客内容的格式优化,增加博客评论系统等等。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值