Django搭建博客项目

第一章总结 项目一:blog
项目准备工作:
pip install django

1.在项目根目录创建项目,django-admin startproject myblog
在这里插入图片描述
2.在manage.py所在的目录:python manage.py runserver检查项目是否创建成功在这里插入图片描述

3.在manage.py所在的目录创建应用:python manage.py startapp blog
在这里插入图片描述
4.网站配置:在myblog下settings.py中,将新建的blog应用注册到myblog项目中
在这里插入图片描述
5.编写blog应用的数据模型类:models.py
在这里插入图片描述
此处需要注意:blog.BlogArticles: (models.E014) ‘ordering’ must be a tuple or list (even if you want to order by only one field).

6.写好数据模型类之后,执行Django的数据迁移操作(创建相应的数据库表)
首先:python manage.py makemigrations(会生成一个建立数据库表的文件,相当于生成sql语句.sql文件)
在这里插入图片描述
在这里插入图片描述
查看建的表
在这里插入图片描述

然后 python manage.py migrate(相当于执行sql语句建表)
在这里插入图片描述
此时,查看已建好的sqlite数据表
在这里插入图片描述
7.发布博客文章(使用django默认的管理功能发布文章)
(1)必须先创建超级管理员
python manage.py createsuperuser
在这里插入图片描述
此处系统提示你你设置的密码太简单并且大众化(我设置的是root)
python manage.py runserver
在这里插入图片描述
admin/root
在这里插入图片描述
(2)添加管理项目./blog/admin.py,from .models import BlogArticles将BlogArticles类引入到当前环境,然后通过代码admin.site.register(BlogArticles)将该类注册到admin中。
在这里插入图片描述
此时,便可以添加文章了
在这里插入图片描述
(2)再丰富一下单一的列表页信息./blog/admin.py
在这里插入图片描述
注意:<class ‘blog.admin.BlogArticlesAdmin’>: (admin.E001) The value of ‘raw_id_fields’ must be a list or tuple.
8.显示博客信息
(1)读取数据–>通过视图函数传递数据对象给模板–>展示
在这里插入图片描述
./blog下新建模板文件夹并编写模板代码,结构如下:
在这里插入图片描述
base.html
在这里插入图片描述
titles.html
在这里插入图片描述
content.html
在这里插入图片描述

注意:模板具有”继承”功能;{% block blockname %}{% endblock %}
(3)视图函数和模板都编写好之后,接下来配置URL:
首先要配置./myblog/urls.py
在这里插入图片描述
代码的意思是:首先在./myblog/urls.py中查询,遇到符合条件的URL映射(path(‘blog/’, include(‘blog.urls’))),根据此映射中的描述,到blog.urls(./blog/urls.py)中查询。
再配置./blog/urls.py(需要新建)
在这里插入图片描述

注:path()的第一个参数 ’’代表访问根,在blog应用中,所以访问的是blog的根,即:http://127.0.0.1:8000/blog/
views.blog_title声明了响应这个请求的函数。
9.查看文章内容
在./blog/views.py中增加响应查看文章详情请求的函数blog_article()
在这里插入图片描述
接着修改./blog/urls.py
在这里插入图片描述
“<int:article_id>/”匹配的是一个数字字符,并且该数字字符赋值给article_id,然后传递给blog_article()。
但是当article_id的值大于文章的id最大值时,会报一下错,因为该id对应的文章不存在
在这里插入图片描述
因此需要用get_object_or_404(模型类名, id)去改进,#id是查询时的条件参数。
在这里插入图片描述
改进之后,就会报404页面不存在的错误了。
在这里插入图片描述
至此:blog项目搭建完毕。
10.总结知识点:
(1)Django中的MTV
(2)Django核心理念:更python化,DRY,松耦合与灵活操作,快速开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
今日头条是一家知名的新闻资讯平台,而优特教育是一家教育机构,提供学习编程的课程。Python是一门流行的编程语言,DjangoPython的一个Web框架,用于快速开发Web应用程序。 据了解,优特教育开发了一个基于PythonDjango博客项目,在学生们学习编程的过程中,可以使用这个项目来实践和展示自己的技术能力。这个博客项目的源码是指该项目的代码和相关资源。 这个博客项目主要包含以下功能: 1. 用户注册与登录:用户可以注册一个账号,并使用该账号登录系统,以便进行后续操作。 2. 文章发布与管理:注册用户可以发布自己的文章,并对已发布的文章进行编辑、删除等管理操作。 3. 文章分类与标签:用户可以对自己的文章进行分类和添加标签,方便其他用户浏览和搜索。 4. 评论与回复:用户可以对其他用户的文章进行评论,并进行回复交流。 5. 用户权限管理:系统管理员可以对用户的权限进行管理,例如设置管理员权限或普通用户权限。 通过这个博客项目,学生们可以学习和掌握PythonDjango的开发技术,了解和应用Web开发的相关知识。他们可以学习如何设计和实现一个完整的Web应用,如何处理用户注册与登录、发布与管理文章等功能。 总结而言,优特教育开发的Python Django博客项目的源码,是一个帮助学生学习和实践编程技术的实际项目。通过这个项目,学生们可以了解到实际项目开发过程中的各种需求和技术挑战,并通过实际操作提升他们的编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值