• 6月新规:高温津贴来了 网约车纳入出租考核体系 2019-03-25
  • 【中国梦·大国工匠篇】 “跨界”复苏失传百年工艺 蔺涛:坚守让古砚焕发新生 2019-03-23
  • 82年拉菲为什么喝不完?听说味道很像人民币?拉菲 葡萄酒 2019-03-23
  • 花生米-热门标签-华商生活 2019-03-23
  • 港澳牙医只需备案即可在粤执业 2019-03-22
  • 趣闻世界各地达人街头上演高难度瑜伽 2019-03-22
  • 江西:入汛以来最强连续暴雨即将来临 防汛进入关键阶段 2019-03-21
  • 台湾今年“水电双缺” 蔡当局必须面对真相 2019-03-21
  • 三只树懒漂洋过海亮相杭州 看着都困 2019-03-20
  • 青春无敌!姆巴佩成代表法国出战世界杯的最年轻球员 2019-03-17
  • 皇家地暖长啥样?《故宫新事》带你探寻养心殿的秘密 2019-03-16
  • “花冠模式”演绎鲁酒特色的崛起之道 2019-03-14
  • 官员给情妇承诺书不碰老婆 每周发生4次关系 2019-03-13
  • 险!年近八旬老人就医晕倒 赞!医生不顾腰伤抱起抢救(图) 2019-03-12
  • 三晋史话——黄河新闻网 2019-03-12
  • 广东快乐十分破解器:【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    本文是由马哥教育金牌讲师小智的文字分享《如何快速搭建一个博客》整理而来。

    1.django简介

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
    Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。
    Django适合快速开发web开发。
    1.1 Django的结构模型
    层次
    职责

    模型(Model)数据存取层
    处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

    视图(View)表现层
    处理与表相关的决定: 如何在页面或其他类型文档中进行显示。

    模板(Template),业务逻辑层
    存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

    1.2 Django相关依赖的环境和安装
    1.准备一个linux的虚拟机
    2.安装一个pyenv:具体安装的方法看这里
    //www.yulongjun.com/python/20170507-02-pyenv-centos/
    3.通过pyenv 安装一个python3.6.2
    pyenv install 3.6.2
    4.使用pip安装:
    pip install django==1.11
    pip install mysqlclient
    5.安装mysql数据库
    1.3 Django的简单配置
    新建一个项目:
    django-admin startproject blog
    在项目里面新建一个app和相关的模版静态文件:
    cd blog
    python manage.py startapp ariclte
    mkdir templates
    mkdir static
    mkdir media
    配置相关的设置
    cd blog
    vim settings.py
    vim urls.py
    settings.py配置

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    urls.py配置

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    2.Django操作数据库

    2.1 Django里面主要使用orm来操作数据库
    我们来看下什么是orm
    使用orm有什么好处
    Dajngo的orm-model
    1.什么是ORM?
    ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
    2.ORM的优缺点是什么?
    优点:摆脱复杂的SQL操作,适应快速开发;让数据结构变得简洁;数据库迁移成本更低(如从mysql->oracle)
    缺点:性能较差、不适用于大型应用;复杂的SQL操作还需通过SQL语句实现
    2.2 Blog的数据结构
    blog的常用的数据结构:
    文章,分类,评论,注册
    一般来说一个blog至少包含这4个表
    我们今天只写文章表和分类表
    大家可以先自己想下:
    文章表和分类表包含的字段是哪些?
    文章和分类是什么关系?
    文章和用户又是什么关系?
    表之间是否需要外键进行关联?
    表之间的关系:
    一个用户可以发表多篇文章
    一个分类里面也多篇文章
    分类和用户没有直接的关系
    理清这些之后,现在开始编写对应的model模型
    2.3 编写models.py

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    2.4 创建和同步数据库

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    3.Admin

    3.1 admin
    1.django自带一个admin的后台,只需要简单的配置就能让我们快速的使用,这是django的一个强大之处。
    2.配置admin.py之前,需要先了解一下admin的用法
    需要继承admin.ModelAdmin
    list_display:admin 后台显示的字段
    search_fields:admin 后台查询的字段
    fields:允许修改的字段
    actions: 禁用的操作
    admin.site.register: 关联model和admin
    3.2 编写admin

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    4.djangod的视图

    4.1 Django的视图
    Django有很多的优秀的视图:
    View
    DetailView
    ListView
    FormView
    CreateView
    DeleteView
    UpdateView
    我们的blog里面暂时只用到了ListView和DetailView
    4.2 使用dajngo自带的ListView
    v 编写app的views.py

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    4.3 使用django自带的DetailView

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    4.4 配置app的urls.py

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    4.5 启用django

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    访问admin后台

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    填充相关的信息

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    5.配置相关的模板

    5.1 配置app的模板
    1.把模板的index.html放到templates里面
    2.模板的css,js,images,fonts,kindeditor放到static里面
    3.模版声明:此模版来自//www.lushaozhen.com/

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    5.2 模版继承-base.html
    1.首先新建一个base.html
    声明模版
    第一行:{% load staticfiles %}
    2.block
    母版html中将一些需要替换的部分用{%block xxx %}。。。{%endblock %}括起来

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    模版继承-index.html

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    模版继承-detail.html

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    5.3 前端展示-列表页面

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog
    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    5.4 前端展示-详情页

    【大咖讲堂-174期】十分钟学会用Django快速搭建一个blog

    作者:原百度时代有限公司福州研发分公司移动云事业部高级运维开发工程师,现福建某文化发展有限公司技术经理,从事4年的python开发和pythonweb开发,擅长团队协作,性格开朗,爱分享。

    相关新闻

    联系我们

    400-080-6560

    在线咨询:点击这里给我发消息

    邮件:[email protected]

    工作时间:周一至周日,09:00-18:30

    QR code
  • 6月新规:高温津贴来了 网约车纳入出租考核体系 2019-03-25
  • 【中国梦·大国工匠篇】 “跨界”复苏失传百年工艺 蔺涛:坚守让古砚焕发新生 2019-03-23
  • 82年拉菲为什么喝不完?听说味道很像人民币?拉菲 葡萄酒 2019-03-23
  • 花生米-热门标签-华商生活 2019-03-23
  • 港澳牙医只需备案即可在粤执业 2019-03-22
  • 趣闻世界各地达人街头上演高难度瑜伽 2019-03-22
  • 江西:入汛以来最强连续暴雨即将来临 防汛进入关键阶段 2019-03-21
  • 台湾今年“水电双缺” 蔡当局必须面对真相 2019-03-21
  • 三只树懒漂洋过海亮相杭州 看着都困 2019-03-20
  • 青春无敌!姆巴佩成代表法国出战世界杯的最年轻球员 2019-03-17
  • 皇家地暖长啥样?《故宫新事》带你探寻养心殿的秘密 2019-03-16
  • “花冠模式”演绎鲁酒特色的崛起之道 2019-03-14
  • 官员给情妇承诺书不碰老婆 每周发生4次关系 2019-03-13
  • 险!年近八旬老人就医晕倒 赞!医生不顾腰伤抱起抢救(图) 2019-03-12
  • 三晋史话——黄河新闻网 2019-03-12