当前位置:首页 > 电子书 > 电子书下载 > 程序设计 >
Python新手使用Django架站的16堂课 Python新手使用Django架站的16堂课
一剑何风情

一剑何风情 提供上传

资源
36
粉丝
9
喜欢
676
评论
6

    Python新手使用Django架站的16堂课 PDF 原书扫描版

    Python电子书
    • 发布时间:2019-06-10 11:36:57

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python、Django、架站方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小199.5 MB,何敏煌编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.3。

  • Python新手使用Django架站的16堂课 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1qxitZ1GyIcKGU5E92IzgM
  • 提取码:9zq7
  • 读者评价

    django更新换代很快,国内翻译的教程很多,但是很多材料都过时了,本书虽然也是用的老版本,但是案例足够充实,足够能入门,个人感觉比翻译的官方文档要好,如果要学django,可能是中文书唯一的书了。

    学习Django的一本指导书,实例丰富,对工作帮助大。

    这本书很早就看到了,一直没有买,突然看到有人评价很好,买来看看,话说有好几本django的外国书,很不错,就是没人翻译过来。

    的内容有点旧,是Python2.7的,还有部分排版错误,好在东西是相通的,作为入门挺不错的

    编辑推荐

    本书免费赠送范例网站的源码和网站文件夹结构及其文件,下载地址:http://pan.baidu.com/s/1pLIuFXp(注意区分数字和英文字母大小写)1.详细的步骤教学,按图操作,快速上手2.深入分析Django的MVC/MTV架构3.多个实用的网站开发范例,即学即用到个人网站4.从设计、规划到实践,16堂课使你轻松成为网络架站高手 

    内容介绍

    Python是目前非常受欢迎的程序设计语言,本书通过对Python语言使用*多的Django Web Framework的介绍,让读者可以轻松制作出全功能的动态网站。 本书分4部分,以16堂课来介绍Python新手使用Django架站的要点。*部分(第1~3堂)以一个小型的个人博客网站为主轴,介绍如何快速建立一个实用的Django网站;第二部分(第4~7堂)是Django架构深入剖析,详细分析Django的MVC/MTV架构;第三部分(第8~11堂)为实用网站开发技巧;第四部分(第12~16堂)为实用网站开发教学,从设计、规划到实践,逐步指导读者在自己的主机环境下构建出有趣实用的内容。 本书既可作为希望快速上手Python Django的初学者的参考书籍,也可作为Python培训学校在Python Django方面的培训教程。

    内容节选

    Django基础知识与基本应用入门

    本文实例讲述了Django基础知识与基本应用。分享给大家供大家参考,具体如下:
    MVC模式和MTV模式

    MVC model view controller

    MTV model templates view controller

    Django的MTV模式本质是各组件之间为了保持松耦合关系,Django的MTV分别代表:

           Model(模型):负责业务对象与数据库的对象(ORM)
           Template(模版):负责如何把页面展示给用户
           View(视图):负责业务逻辑,并在适当的时候调用Model和Template

    此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template。

    Django基本命令

    创建一个Django项目

    django-admin startproject project_name
    
    

    创建项目应用

    python manage.py startapp appName
    
    

    启动Django项目

    python manage.py runserver IP PORT  #默认是8000
    
    

    查看django版本信息

    import django
    print(django.VERSION)
    
    

    创建一个mysite项目

    django-admin.py startproject mysite
    
    

    当前目录下会生成一个mysite项目目录,结构如下:

    manage.py是Django项目里的工具,通过它可以调用django shell和数据库等。

    settings.py是项目的默认设置文件,包括数据库的信息,调试标志以及其他工作的变量。

    urls.py是负责把url模式映射到应用程序。

    项目与应用:

      一个项目可以有多个应用
      一个应用可以被多个项目拥有

    在mysite目录下创建应用,比如blog

    python manage.py startapp blog
    
    

    生成如上目录结构。

    models:与数据库交互的文件
    views:存放视图函数的

    启动django项目

    python manage.py runserver 8080
    
    

    这样项目就能启动了,访问http://127.0.0.1:8080即可访问。

    注意csrf保护机制

    在mysite项目目录下的settings配置文件中,中间件MIDDLEWARE设置中,有一条
    django.middleware.csrf.CsrfViewMiddleware一行,新手练习时可以先将其注释掉。

    下面我在mysite这个项目写一个练手blog应用,注册和登录。

    下面是blog应用中views.py的代码:

    from django.shortcuts import render,HttpResponse #导入render是为了返回渲染后的网页,HttpResponse是可以返回字符串
    import json
    # Create your views here.
    def login(request):
      if request.method=="POST":#指定格式为POST
        print(request.POST)
        username=request.POST.get("user")
        password=request.POST.get("pwd")
        f=open("a.txt","r")
        # data=f.read()
        dic=json.load(f)
        if username in dic and password==dic[username]:
          return HttpResponse("登录成功") #返回字符串内容
      return render(request,"login.html") #返回网页内容
    def auth(request):
      if request.method=="POST":
        # print(request.POST)
        username=request.POST.get("user")
        password=request.POST.get("pwd")
        info={}
        info[username]=password
        print(info)
        f=open("a.txt","a")
        data=json.dump(info,f)
        f.close()
      return render(request,"auth.html")
    
    

    上面的注册机制写的比较简单,只是为了测试一下django的使用。

    下面是mysite目录下的urls.py代码

    from django.conf.urls import url
    from django.contrib import admin
    from blog import views
    urlpatterns = [
      url(r'^admin/', admin.site.urls),
      url(r'login',views.login),
      url(r'auth',views.auth),#login为浏览器url地址栏IP:PORT/后面的内容,对应一个视图函数
    ]
    
    

    下面为两个html页面

    下面是login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    <h2>Django登录页面</h2>
    <form action="http://127.0.0.1:8900/login/" method="post">
      <p>姓名<input type="text" name="user"></p>
      <p>密码<input type="password" name="pwd"></p>
      <p>
        <input type="submit">
      </p>
    </form>
    </body>
    </html>
    
    

    下面是auth.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
    </head>
    <body>
    <h2>Django注册页面</h2>
    <form action="http://127.0.0.1:8900/auth" method="post">
      <p>姓名<input type="text" name="user"></p>
      <p>密码<input type="password" name="pwd"></p>
      <p>
        <input type="submit">
      </p>
    </form>
    </body>
    </html>
    
    

    下图左面为整个目录结构,右面为settings配置文件中需要注意的位置,该项标识了模板目录,否则会找不到。

    如上配置之后,在templates目录内写好对应的两个html页面之后,通过python manage.py runserver 8900命令启动项目,访问相应ip 端口 等就可以访问了。

    希望本文所述对大家基于Django框架的Python程序设计有所帮助。

    目录

    • 第1堂  网站开发环境的建立 1
    • 1.1  网站的基础知识 1
    • 1.1.1 网站的运行流程 1
    • 1.1.2 Python/Django扮演的角色 2
    • 1.1.3 使用Python/Django建立网站的优势 3
    • 1.2  建立网站开发流程 3
    • 1.2.1 开发流程简介 4
    • 1.2.2 在Windows中建立Linux虚拟机 5
    • 1.2.3 在Mac OS中安装Linux虚拟机 11
    • 1.2.4 在Linux虚拟机中创建Python Django开发环境 17
    • 1.2.5 设置SSH、PuTTY以及FTP服务器 18
    • 1.2.6 安装Notepad 程序编辑器 22
    • 1.3  活用版本控制系统 26
    • 1.3.1 版本控制系统Git简介 26
    • 1.3.2 申请Bitbucket账号 26
    • 1.3.3 在虚拟机中连接Bitbucket 29
    • 1.3.4 在不同的计算机之间开发同一个网站 31
    • 1.4  其他网站项目开发环境的安装建议 32
    • 1.4.1 在Windows 10中创建开发环境 32
    • 1.4.2 在Mac OS中创建开发环境 35
    • 1.4.3 在Cloud9中创建开发环境 37
    • 1.4.4 在DigitalOcean VPS中创建开发环境 39
    • 1.5  习题 40
    • 第2堂  Django网站快速入门 41
    • 2.1  个人博客网站规划 41
    • 2.1.1 博客网站的需求与规划 41
    • 2.1.2 产生第一个网站框架 41
    • 2.1.3 Django文件夹与文件解析 44
    • 2.2  创建博客数据表 46
    • 2.2.1 数据库与Django的关系 46
    • 2.2.2 定义数据模型 47
    • 2.2.3 启动admin管理界面 48
    • 2.2.4 读取数据库中的内容 52
    • 2.3  网址对应与页面输出 55
    • 2.3.1 创建网页输出模板template 55
    • 2.3.2 网址对应urls.py 60
    • 2.3.3 共享模板的使用 62
    • 2.4  高级网站功能的运用 65
    • 2.4.1 JavaScript以及CSS文件的引用 65
    • 2.4.2 图像文件的应用 69
    • 2.4.3 在主网页显示文章摘要 71
    • 2.4.4 博客文章的HTML内容处理 73
    • 2.4.5 Markdown语句解析与应用 75
    • 2.5  习题 77
    • 第3堂  让网站上线 78
    • 3.1 在DigitalOcean上部署 78
    • 3.1.1 申请账号与创建虚拟主机 78
    • 3.1.2 安装Apache网页服务器及Django执行环境 82
    • 3.1.3 修改settings.py、000-default.conf等相关设置 83
    • 3.1.4 创建域名以及多平台设置 86
    • 3.2  在Heroku上部署 89
    • 3.2.1 Heroku账号申请与环境设置 89
    • 3.2.2 修改网站的相关设置 91
    • 3.2.3 上传网站到Heroku主机 92
    • 3.2.4 Heroku主机的操作 96
    • 3.3  在Google CloudPlatform上部署 97
    • 3.3.1 Google Cloud Platform的介绍 98
    • 3.3.2 Google Computing的启用与设置 101
    • 3.3.3 Google App Engine的说明与设置 104
    • 3.4  习题 111
    • 第4堂  深入了解Django的MVC架构 112
    • 4.1 Django的MVC架构简介 112
    • 4.1.1 MVC架构简介 112
    • 4.1.2 Django的MTV架构 113
    • 4.1.3 Django网站的构成以及配合 114
    • 4.1.4 在Django MTV架构下的网站开发步骤 115
    • 4.2 Model简介 116
    • 4.2.1 在models.py中创建数据表 116
    • 4.2.2 在admin.py中创建数据表管理界面 119
    • 4.2.3 在Python Shell中操作数据表 123
    • 4.2.4 数据的查询与编辑 125
    • 4.3 View简介 127
    • 4.3.1 建立简易的HttpResponse网页 127
    • 4.3.2 在views.py中显示查询数据列表 129
    • 4.3.3 网址栏参数处理的方式 131
    • 4.4 Template简介 133
    • 4.4.1 创建template文件夹与文件 133
    • 4.4.2 传送变量到template文件中 134
    • 4.4.3 在template中处理列表变量 137
    • 4.5  最终版本摘要 138
    • 4.6  习题 142
    • 第5堂  网址的对应与委派 143
    • 5.1  Django网址架构 143
    • 5.1.1 URLconf简介 143
    • 5.1.2 urlpatterns的Regular Expression语法说明 145
    • 5.1.3 验证RE设计URL的正确性 148
    • 5.2  高级设置技巧 149
    • 5.2.1 参数的传送 149
    • 5.2.2 include其他整组的urlpatterns设置 150
    • 5.2.3 URLconf的反解功能 151
    • 5.3  习题 152
    • 第6堂  Template深入探讨 153
    • 6.1 Template的设置与运行 153
    • 6.1.1 settings.py设置 153
    • 6.1.2 创建templates文件 155
    • 6.1.3 在templates文件中使用现有的网页框架 156
    • 6.1.4 直播电视网站应用范例 157
    • 6.1.5 在template中使用static文件 161
    • 6.2  高级Template技巧 163
    • 6.2.1 Template模板的继承 163
    • 6.2.2 共享模板的使用范例 165
    • 6.3 Template语言 166
    • 6.3.1 判断指令 167
    • 6.3.2 循环指令 168
    • 6.3.3 过滤器与其他语法标记 173
    • 6.4  习题 176
    • 第7堂  Models与数据库 177
    • 7.1  网站与数据库 177
    • 7.1.1 数据库简介 177
    • 7.1.2 规划网站需要的数据库 178
    • 7.1.3 数据表内容设计 181
    • 7.1.4 models.py设计 182
    • 7.2  活用Model制作网站 183
    • 7.2.1 建立网站 183
    • 7.2.2 制作网站模板 186
    • 7.2.3 制作多数据表整合查询网页 188
    • 7.2.4 调整admin管理网页的外观 192
    • 7.3  在Django中使用MySQL数据库系统 194
    • 7.3.1 安装开发环境中的MySQL连接环境(Ubuntu) 194
    • 7.3.2 安装开发环境中的MySQL连接环境(Windows) 195
    • 7.3.3 使用Google云端主机的商用SQL服务器 199
    • 7.4  习题 203
    • 第8堂  网站窗体的应用 204
    • 8.1  网站与窗体 204
    • 8.1.1 HTML
    • 窗体简介 204
    • 8.1.2 活用窗体的标签 208
    • 8.1.3 建立本堂课范例网站的数据模型 210
    • 8.1.4 网站窗体的建立与数据显示 212
    • 8.1.5 接收窗体数据存储于数据库中 214
    • 8.1.6 加上删除帖文的功能 215
    • 8.2  基础窗体类的应用 217
    • 8.2.1 使用POST传送窗体数据 218
    • 8.2.2 结合窗体和数据库 222
    • 8.2.3 数据接收与字段的验证方法 226
    • 8.2.4 使用第三方服务发送电子邮件 229
    • 8.3  模型窗体类ModelForm的应用 233
    • 8.3.1 ModelForm的使用 233
    • 8.3.2 通过ModelForm产生的窗体存储数据 235
    • 8.3.3 为窗体加上防机器人的验证机制 237
    • 8.4  习题 240
    • 第9堂  网站的Session功能 241
    • 9.1 Session简介 241
    • 9.1.1 复制Django网站 241
    • 9.1.2 Cookie简介 242
    • 9.1.3 使用Cookie建立网站登录功能 243
    • 9.1.4 开始使用Session 249
    • 9.2  活用Session 250
    • 9.2.1 建立用户数据表 250
    • 9.2.2 整合Django的信息显示框架messages framework 257
    • 9.3 Django auth用户验证 260
    • 9.3.1 使用Django的用户验证系统 260
    • 9.3.2 增加User的字段 264
    • 9.3.3 显示新增加的User字段 266
    • 9.3.4 应用auth用户验证存取数据库 268
    • 9.4  习题 274
    • 第10堂  网站用户的注册与管理275
    • 10.1 建立网站用户的自动化注册功能 275
    • 10.1.1 django-registration安装与设置 275
    • 10.1.2 建立django-registration所需的模板 276
    • 10.1.3 整合用户注册功能到分享日记网站 280
    • 10.2 Pythonanywhere.com免费Python网站开发环境 285
    • 10.2.1 注册Pythonanywhere.com账号 286
    • 10.2.2 在Pythonanywhere免费网站中建立虚拟机环境以及Django网站 292
    • 10.2.3 建立投票网站的基本架构 298
    • 10.3 使用Facebook验证账号操作实践 307
    • 10.3.1 在Pythonanywhere中安装django-allauth与设置 307
    • 10.3.2 到Facebook开发者网页申请验证机制 309
    • 10.3.3 在网站中识别用户的登录状态 314
    • 10.3.4 客户化django-allauth页面 318
    • 10.4 习题 321
    • 第11堂  社交网站应用实践 322
    • 11.1 投票网站的规划与调整 322
    • 11.1.1 网站功能与需求 322
    • 11.1.2 数据表与页面设计 324
    • 11.1.3 网站的转移 327
    • 11.1.4 移动设备的考虑 329
    • 11.2 深入探讨django-allauth 331
    • 11.2.1 django-allauth的Template标签 331
    • 11.2.2 django-allauth的Template页面 333
    • 11.2.3 获取Facebook用户的信息 335
    • 11.3 投票网站功能解析 336
    • 11.3.1 首页的分页显示功能 337
    • 11.3.2 自定义标签并在首页显示目前的投票数 339
    • 11.3.3 使用AJAX和jQuery改进投票的效果 341
    • 11.3.4 避免重复投票的方法 348
    • 11.3.5  新建Twitter账号链接 350
    • 11.4 习题 355
    • 第12堂  电子商店网站实践 356
    • 12.1 打造迷你电商网站 356
    • 12.1.1 复制网站,不要从零开始 356
    • 12.1.2 创建网站所需要的数据表 358
    • 12.1.3 上传照片的方法django-filer 362
    • 12.1.4 把django-filer的图像文件添加到数据表中 367
    • 12.2 增加网站功能 370
    • 12.2.1 分类查看产品 370
    • 12.2.2 显示详细的产品内容 374
    • 12.2.3 购物车功能 376
    • 12.2.4 建立订单功能 381
    • 12.3 电子支付功能 390
    • 12.3.1 建立付款流程 390
    • 12.3.2 建立PayPal付款链接 393
    • 12.3.3 接收PayPal付款完成通知 400
    • 12.3.4 测试PayPal付款功能 401
    • 12.4 习题 407
    •  
    •  
    • 第13堂  全功能电子商店网站django-oscar实践 408
    • 13.1 Django购物网站Oscar的安装与使用 408
    • 13.1.1 电子购物网站模板 408
    • 13.1.2 Django Oscar购物车系统测试网站安装 409
    • 13.2 建立Oscar的应用网站 411
    • 13.2.1 安装前的准备 412
    • 13.2.2 建立网站的域名 412
    • 13.2.3 调整Apache2配置文件 414
    • 13.2.4 建立Django Oscar购物网站项目 415
    • 13.2.5 加上电子邮件的发送功能 422
    • 13.2.6 简单地修改Oscar网站的设置 424
    • 13.2.7 增加PayPal在线付款功能 427
    • 13.3 自定义Oscar网站 432
    • 13.3.1 建立自己的templates,打造客户化的外观 433
    • 13.3.2 网站的中文翻译 444
    • 13.4 习题 445
    • 第14堂  二级网络域名管理网站实践446
    • 14.1 建立网站前的准备工作 446
    • 14.1.1 什么是二级网络域名以及网络域名代管服务 446
    • 14.1.2 申请网络域名以及网络域名代管服务DNSimple 447
    • 14.1.3 设置网站主机的空间 450
    • 14.1.4 建立网站框架 450
    • 14.2 建立会员网站 452
    • 14.2.1 加入电子邮件功能 452
    • 14.2.2 安装与使用django-registration 453
    • 14.2.3 安装dnsimple模块 459
    • 14.3 网站功能设计 461
    • 14.3.1 建立网站首页的说明页面 462
    • 14.3.2 创建数据表 463
    • 14.3.3 建立网址管理页面 464
    • 14.3.4 Subdomain数据表的存取 466
    • 14.3.5 整合到dnsimple.com中 469
    • 14.4 习题 475
    • 第15堂  名言佳句产生器网站实践477
    • 15.1 建立网站前的准备 477
    • 15.1.1 准备网站所需的素材 477
    • 15.1.2 图文整合练习 478
    • 15.1.3 建立可随机显示图像的网站 479
    • 15.2 产生器功能的实现 483
    • 15.2.1 建立产生器界面 483
    • 15.2.2 产生唯一的文件名 486
    • 15.2.3 开始合并并产生图像文件 486
    • 15.2.4 准备多个背景图像文件以供选择 490
    • 15.3 自定义图像文件功能 496
    • 15.3.1 加入会员注册功能 496
    • 15.3.2 建立上传文件的界面 497
    • 15.3.3 上传文件的方法 502
    • 15.3.4 实时产生结果 504
    • 15.4 习题 506
    • 第16堂  课程回顾与您的下一步507
    • 16.1 善加运用网站资源 507
    • 16.2 部署上线的注意事项 510
    • 16.3 SSL设置实践 513
    • 16.4 程序代码和网站测试的重要性 525
    • 16.5 其他Python框架 528
    • 16.6 您的下一步 528

    上一篇:疯狂Java讲义精粹

    下一篇:Java性能调优指南

    展开 +

    收起 -

     
    学习笔记

    电子书 编程教程 PC软件下载 安卓软件下载

    Copyright 2018-2020 xz577.com 码农之家

    本站所有电子书资源不再提供下载地址,只分享来路

    免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

    版权投诉 / 书籍推广 / 赞助:QQ:520161757