跟大佬学django-发布博客文章

发布博客文章

我们先用最简单的方式实现博客文章的发布,使用django默认的管理功能就可以发布文章。要使用此功能,必须先创建超级管理员。下面是创建超级管理员的方法,请记住自己使用的用户名和密码。

创建超级用户

[[email protected] mysite]# python3 manage.py createsuperuser

Username (leave blank to use ‘root‘): admin

Email address: [email protected]

Password:

Password (again):

Superuser created successfully.

用户名和密码:admin/xiaxiaoxu

运行服务器

[[email protected] mysite]# python3 manage.py runserver 0:8000

Performing system checks...

System check identified no issues (0 silenced).

October 20, 2019 - 06:01:05

Django version 1.10.1, using settings ‘mysite.settings‘

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

Quit the server with CONTROL-C.

注意:在linux下启动时,要把ip指向0.0.0.0,否则从windows上访问不了

浏览器访问http://172.20.10.6:8000/admin/,就可以打开如下图所示的界面

登录用户

Groups和Users是django在用户管理应用中默认的。单击users会看到当前项目的用户。

把BlogArticles类注册到admin中

我们打开./blog/admin.py,输入如下代码:

from django.contrib import admin
from .models import BlogArticles

admin.site.register(BlogArticles)

在代码中我们把BlogArticles类引入到当前环境,然后注册到admin中。

在调试状态下,如果没有新增加的文件,只是将原有文件修改了,则不需要重新启动django服务(如果django服务没有启动,请确保启动),然后打开浏览器,刷新页面,如下图所示

这时可以看到新注册的BLOG

单击Blog articles右侧的“Add”按钮可以添加博客文章,如下图所示。

在这个页面中输入一片博客文章,点击右下角的SAVE按钮,该博客文章将被保存到数据库中,可以再次使用SQLiteSpy打开数据库,查看blog_blogarticles表的数据

从数据库中能直观地看到刚才保存的文档。注意,在发布文章时选择xiaxiaoxu作为author,并且xiaxiaoxu在Users中的id是2,所以这里记录了它的id值,即author_id是2—这就是BlogArticles类中ForeignKey()属性的效果。

这里的author_id对应auth_user表中的数据:

为了后续操作需要,我们多发布几篇文章。

在./blog/models.py中使用了django.utils.timezone,因此需要安装一个模块pytz,用来提供市区数值。

安装命令:pip3 install pytz

安装完毕,重启服务。

增加列表页信息

在文章的列表页,可以看到所有已经发布的文章的标题,如下所示。

这样显示的列表页信息太单一。为了让列表页的信息丰富,还可以在./blog/admin.py中多写点东西,继续编辑./blog/admin.py,增加部分代码之后的内容如下。

./blog/admin.py:

from django.contrib import admin
from .models import BlogArticles

class BlogArticlesAdmin(admin.ModelAdmin):
    list_display = ("title", "author", "publish")
    list_filter = ("publish", "author")
    search_fields = ("title", "body")
    raw_id_fields = ("author",)
    date_hierarchy = "publish"
    ordering = [‘publish‘, ‘author‘]

修改./blog/admin.py后进行保存,刷新浏览器,会呈现如下图所示的效果。

至于文件中BlogArticlesAdmin各个属性的含义,我们可以用控制变量法一次研究每个属性的含义,比如只保留第一个属性list_display,将其他属性都注释掉,看看页面效果,就知道它的含义了。

下面来让发布的文章能让别人看到

跟老齐学知识点:

什么是HTTP

访问网站经常要用到HTTP,HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是客户端(比如计算机的浏览器、网络爬虫程序)和服务器端(网站)请求和应答的标准(TCP),封装了Web服务的整个过程。通常,有客户端发起请求,建立到服务器指定端口(默认为80)TCP连接。服务器在指定端口监听客户端的请求,一旦受到,就像客户端返回状态信息(比如“HTTP/1.1 200”)和内容信息(如请求的文件、错误消息或者其他信息),这就是响应。简单地说,HTTP要做的事情如下。

请求(request):客户端到服务器端。

响应(response):服务器端到客户端。

HTTP/1.1协议共定义了8中请求方式,分别是:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE和CONNECT。注意这些请求方式的名称都是大写,不要用小写。

GET:向指定的服务器发出请求,主要用于读取信息并显示。

POST:向指定服务器提交数据,请求服务器进行处理(如提交表达或者上传文件)

随着技术的发展,现在另外一种协议正在被广泛使用—HTTPS,全程是Hyper Text Transfer Protocol Secure,比HTTP多了一个secure。前面提到了HTTP默认的端口是80,而HTTPS默认的端口是443。相比HTTP,HTTPS安全性更高,因为HTTP以明文方式封装信息,如果被某些抓包工具获得,很容易分析出其内容,而HTTPS以加密的方式传送信息,这也是它主键流行的原因。

什么是URL

要在客户端访问服务器端,需要知道访问哪个服务器(服务器的位置),这就是URL要做的事情。URL全程是(Uniform/Universal Resource Locator,翻译为“统一资源定位符”,俗称网页地址(网址)。)

有了URL,就标志着步入了网络时代。

URL的标准格式是:协议类型://服务器地址(必要时需加上端口号)/路径/文件名。

协议类型:可以是HTTP,也可以使HTTPS。

服务器地址:通常为域名,比如itdiffer.com,也可以是IP地址。如果是默认的80端口,则不需要写,否则需要写上端口。

路径:以“/”区别目录。对于GET请求方式,还可以用“?”发起参数,每个参数以“&”隔开,再以“=”分开参数名称与值。

文件名:如果有必要协商,优势可以省略,有服务器根据路径匹配响应程序文件。

本教程中的项目因为是在本地调试,所以可以使用http://域名:8080/path或者http://ip:8080/path的方式,读者可以通过修改本地的域名,将域名或者ip替换为自己喜欢的域名(linux系统修改/etc/hosts文件,windows系统可以修改system32/drivers/etc/host文件)

原文地址:https://www.cnblogs.com/xiaxiaoxu/p/12203248.html

时间: 2024-10-25 13:14:48

跟大佬学django-发布博客文章的相关文章

跟大佬学django-编写博客的数据模型类

编写博客的数据模型类 设计数据库和表结构是做网站的基础.在django中,我们不需要通过SQL语句直接跟数据库打交道,而是完全用python的方式创建数据库模型,之后交给django完成数据库的操作. 数据库模型类 利用django开发网站系统,一般情况下,要先编写数据模型,就是在./blog/models.py中写一个类,这个类与数据库中的数据表具有对应关系. 下面就在./blog/models.py中编写博客的数据模型类Blog,本质上它是一个继承了django.db.models.Mode

Word 2010发布博客文章

目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写博客需要在第三方博客平台注册帐号,且需要第三方博客平台提供API接口.目前的有的博客平台均已关闭博客接口,所以无法使用Word来发布博客. 2.发布到博客或公众号平台的图片无法转载.由于所有博客平台,公众号平台(如微信)开启了图片防盗链功能,作者发布到这些平台上的图片则无法转载到其它的网站中,这限制

测试用Word2007发布博客文章

目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写博客需要在第三方博客平台注册帐号,且需要第三方博客平台提供API接口.目前的有的博客平台均已关闭博客接口,所以无法使用Word来发布博客. 2.发布到博客或公众号平台的图片无法转载.由于所有博客平台,公众号平台(如微信)开启了图片防盗链功能,作者发布到这些平台上的图片则无法转载到其它的网站中,这限制

Django搭建博客文章---模型层

页面展示所需字段 1.文章标题---文本类型 2.文章摘要---文本类型 3.文章内容--文本类型 4.唯一的ID标记---int数字类型(自增.主键) 5.发布日期--日期类型 模型层定义字段 1.数字类型:IntegerField 2.文本类型:TextField 3.日期类型:DateTimeField 4.自增ID:AutoField 5.主键定义:primary_key属性 ===========分析了以上的字段后,就可以开始写模型层的东西啦,在Django下的model.py中写==

用word2013发布博客到博客园

用word2013发布博客到博客园 方式1 : ????可以直接新建博客文章 方式2: ????先建立word文件,在通过共享方式发布到博客: ? ? 1.单击"文件"??图标,然后单击"新建". 2.选择"博客文章"模板,双击下载安装. 3.在"注册博客帐户"对话框中,单击"立即注册"以使用 Word 注册博客帐户. ? 4.在弹出的"新建博客账户"窗口中,选择博客提供商,我们这里选择

使用word发布博客

有关在 Word 中撰写博客的帮助 Word for Office 365 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 更多... 博客发布功能提供可在不依赖媒体渠道或传统印刷刊物的情况下发布文章的功能.本文说明如何在 Microsoft Office Word 中编写博客文章,然后直接发送到所选联机博客网站. 您要做什么? 选择博客发布服务 创建博客文章 注册博客帐户 向博文添加内容 向博文添加超链接 向博文添加图像 编辑现有博客文章 有

发布博客

使用Word发表博客园博文 Word绑定博客园账号 ? ? Step1. 打开Word2016,依次点击"新建" -> "博客文章".注:如果没有"博客文章"项,可以在模板搜索框进行搜索. ????Step2. 进入博客页后,依次点击"管理账户" ->"新建"-> 选择"其他"-> 点击"下一步",如图. ???? ? ? ????Step3.

《flask web开发》第11章 博客文章发布表单无法显示的解决方案

有不少同学在这一章都发现自己明明按照书上一步步执行,但却在首页看不到博客文章发布表单.这个问题其实很好解决. 首先,下载一个DB Browser for SQLite.Ubuntu用户可以在终端输入以下命令: sudo apt-get install sqlitebrowser 之后用这个数据库浏览器打开flasky里的数据库,在role表中按书中第9章所述,将所有角色手工录入,并在user表中给自己的账户添加上role_id字段,这样就大功告成了! 参考: https://www.zhihu.

【转】如何使用离线博客发布工具发布CSDN的博客文章

目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写博客需要在第三方博客平台注册帐号,且需要第三方博客平台提供API接口.目前的有的博客平台均已关闭博客接口,所以无法使用Word来发布博客. 2.发布到博客或公众号平台的图片无法转载.由于所有博客平台,公众号平台(如微信)开启了图片防盗链功能,作者发布到这些平台上的图片则无法转载到其它的网站中,这限制