新手学习——用django搭建个人博客_day1

1.项目创建

可以用命令行创建,也可以用IDE帮你创建。这里推荐这样的生态环境组合。anaconda给你提供和管理项目所需要的虚拟环境(也便于将来生成最小化的requirements进行环境部署docker依赖环境安装),使用pycharm编辑器进行代码编写,django可以帮你快速创建项目运行项目等,但是还是建议你敲命令来熟悉django。
利用anaconda切换到你开发项目所准备python虚拟环境,可以看到在名为python34的环境下我这边只装了一个Django包(其他都是默认装的)。anaconda的环境以及django所在虚拟环境安装的包
命令行创建django项目: django-admin startproject website website是你的项目名称
django-admin 命令创建django项目
用pycharm打开目录,简单介绍下项目目录下的内容。
项目目录
website是你整个项目的配置目录,包括urls路由分发,settings设置(数据库,静态文件,缓存等一系列配置),跟它同级的manage.py 顾名思义就是管理运行项目的脚本文件。

项目创建完成了,当然是要验证一下能否正常启动了,django的项目启动命令:
python manage.py runserver ip和端口,不写默认是127.0.0.1:8000
项目启动

2. 应用创建

项目创建好以后,当然是要开发你的应用了,一个大型的项目肯定是要有多个应用的,先在命令行创建你的第一个应用(blog应用)。
python manage.py startapp blog
在这里插入图片描述
应用创建以后记得在项目根目录的settings下进行如下的配置(就是进行你的应用注册,在执行python manage.py runserver时候,django的django.apps模块读取项目文件中的settings.py拿到这几个app,然后交给django.apps的registry.py和config.py来进行统一配置加载):
在这里插入图片描述
django会自动为你的blog应用创建以下的文件,models是你将来编写对象数据模型的地方,views是视图函数,主要负责将来你业务层代码的编辑。将来还要建立templates也就是模板层,这样django完整的MVT开发模式就呈现在你眼前了。
应用目录
大白话来讲MVT就是M管模型设计也就是你项目的数据对象啦;V管业务逻辑,业务逻辑的主体当然就是数据喽,逻辑有了数据也有了,剩下的T对应的就是给用户展示和交互的html页面了。
以上是开发模式角度来讲MVT,那用户在与我们的“产品”交互时到底发生了什么?其实简单的工作流是这样的:
1.用户触发事件,比如你某电商网站买了一家店的一个商品(其实就是你平时点了个链接,图片什么的)
2.对应的URL与项目URL匹配了
3.django项目根据分发的url确定对应哪个views中的视图函数,该视图函数(业务逻辑)进行处理,会生成一个用户订单,相应的也生成了该用户的一条订单数据记录(对应Models层用户订单对象的数据记录多了一条),最后将该数据渲染给templates层对应的html模板展示给用户,这就大致的一个工作流程。
(实际中业务逻辑和内容比描述的多很多)
希望新手们根据以上3点的总体思路来理解地去学习,而不是去死记。

3. 建立模板

应用创建好后,为了展示web页面,需要新建模板文件。建立模板文件之前需要进行一些前期配置;

settings中修改成汉语中国时区
在这里插入图片描述

新建templates文件夹,settings中修改模板路径
在这里插入图片描述
(有人私信问,为什么他新建的模板总是报错找不到…,可能这个学习教程真的太新手了,但是还是希望大家并不是只是去根据这篇文去搭建自己博客,现在肯定做不到去探究源码毕竟完整博客可能都没有搭建过,但是至少应该知道每一步做的目的是什么?)
上面说的templates文件夹如果以上面配置的话,你需要在项目根目录下创建。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190924142859342.png
可以自己在settings中打印一下BASE_DIR是什么,os的函数是什么,这都是要用到的。
在这里插入图片描述
在templates下创建我们需要展示的html文件。
在这里插入图片描述
现在为止MVT该有的文件都有了,我们需要根据上面提到的三点工作流程来完成我们的“流水线”

4.流水线生产

要匹配url,首先需要在项目级别的urls.py文件中进行路由配置。
website/website/settings.py
在这里插入图片描述
接着在应用级别配置urls,根据urls定位是哪个视图函数的业务内容:
website/blog/urls:
在这里插入图片描述
业务函数处理业务逻辑将最终结果组织起来渲染给模板:
website/blog/views:
在这里插入图片描述
最后在模板的index.html文件中接收视图函数处理后的结果:
在这里插入图片描述
结果展示:在这里插入图片描述
基本就是以上的工作思路:
url编写配置==》定位视图函数==》视图函数编写业务逻辑==》前端页面模板接收参数。

git连接:https://github.com/syjzlee/Django-website-days
以日掌握量为单位更新

下期暂定:
1.模型设计
2.使用mysql数据库
3.创建超级管理员
4.父类模板

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值