51CTO博客开发
现在,请跟着舍得的脚步,打开《HeadFirst Python》第二章。 一章的内容其实没有多少,多练习几次就能掌握一个大概了! 《HeadFirst Python》的第二章设计得很有意思。它直接从制作一个模块入手,顺带讲了模块的导入,传统的书可不会这么搞。 不过书中关于编辑器的观点略显陈旧。 最好的编辑器是什么? 别用书中推荐的Python自带IDLE,在现阶段,请使用Jupyter N
对于Python初学者来说,舍得强烈推荐从《HeadFirst Python》开始读起,这本书当真做到了深入浅出,HeadFirst系列,本身亦是品质的保证。这本书舍得已在《Python起步:写给零编程基础的童鞋》一文中提供了下载。为了方便大家的学习,舍得特意制作了Jupyter Notebook格式的笔记,文章末尾舍得提供了笔记的下载地址。 读《HeadFirst Python》的同时,最紧要
IDE, 全称是Integrated Development Environment,翻译过来就是集成开发环境。Python的开发从2010年5月算起,不知不觉中,到现在已经是第七个年头。 这六年里,舍得最常用的IDE是Eric6(一开始是5.x版本),也试用过圈内闻名的PyCharm、WingIDE和Eclipse(+PyDev插件),算是有些心得。今天,着重对Eric6和PyCharm 20
Hi,我是舍得。 六年前,我为了给SuperMemo设计一个辅助工具,无意中撞进Python这个圈子,从此,一发不可收拾。 当时,我的编程知识几乎可算是零基础。真要认真滴追根溯源的话,嗯嗯,我在2000年左右开始接触asp,做过几个网站,然后慢慢学了点PHP,直到2009年,建了一个叫“舍得学苑”的网站。然而,毫不客气的讲,这些对于我后来学习编程,帮助真的不大。 都说学编程最好有不错的英语基
28.模板标签 如果在每个页面都能显示分类中的内容,这样用户在浏览时可以直接从左侧边栏点击相应的链接进行访问,肯定是非常方便的。 要做到这点,根据我们前面学过的知识,我们整理一下思路: 在base.html模板中添加一些代码来显示某分类的内容列表; 在每个视图,我们要能访问分类对象,获取所有的分类数据; 但这是一个糟糕的解决方案,要实现这个,我们的视图中会有大量的重
26.用Django-Registration-Redux进行用户校验 Django中,有好多现成的应用提供了注册、登录、校验等功能,我们只要稍稍改动一下URL映射、视图和模板就可以使用它们。在这一章,我们将介绍用Django-Registration-Redux,顺便学习一下如何把外部的应用加到我们的项目中。 (1)安装Django-Registration-Redux 在Dos命令
24.优化模板 在这个项目中,从已经做过的模板来看,你可能会注意到里面有很多重复的代码。这种重复不仅带来大量无谓的工作量,而且以后调整起来也极为不便。 因此,最理想的做法是将那些重复的代码放到基础模板中,然后从基础模板再扩展出一个个新的模板。 我们先来做这个基础模板,在templates文件夹下新建一个base.html文件,然后添加以下内容: templates/b
在讲完注册模块之后,我们来着手实现登录和注销模块。 21.添加登录模块 注册功能做好了,接下来我们来完成登录模块。 以下是我们要完成的工作: 创建一个登录视图; 创建登录模板来显示登录表单; 将登录视图映射到URL; 在首页上添加登录链接; 我们先来搞定登录视图。 编辑rango/views.py,添加以下内容: rango/views.py:
在这个部分,我们将要开始学习如何设计用户系统,Django提供了一个叫“django.contrib.auth”的应用,我们可以用它来做出用户注册、登录、注销等一系列功能。 17.用户模型 在Django自带的用户系统中,用户模型里已经包含了如下数据: 用户名 密码 电子邮箱 姓名 我们想在用户模型中增加一些额外的字段,如:
这一节我们将要给Rango项目设计两个表单:添加分类表单和添加页面表单。14.Part2练习答案我们先来创建about视图,编辑rango/views.py文件,在文件尾部加入如下内容:rango/views.py:def about(request):return render(request,'rango/about.html')接下来在templates/ra
在这一节,我们将学习如何用自动脚本来添加内容,然后给我们的应用添加首页和一个内容页。 9.Part1练习答案 除了加入views和likes两个字段,这里我们需要思考一个问题,用户将如何来访问我们的页面?用/rango/category/1/ 或 /rango/category/2/?他们怎么知道1代表哪个分类,2又代表哪个分类?有没有更直接一点的方法呢? 我想还是直接用分
在前面我们已经陆续学习了六个Django的实例,其中一个来自Django官方的文档,另外五个来自《Django Web开发指南》。舍得介绍的每一个实例,都是按照官方文档的标准,力求让大家在根据文章去做自己的实例时,能够按“文”索骥,轻松再现整个实例的制作过程。 接下来,舍得要介绍一个大型的实例,这个项目叫做Rango,它来自Django圈内口碑甚佳的《How to Tango w
这是《Django Web开发指南》中的最后一个实例。如果说上一个实例Liveblog重点讲的是Django和Ajax的协作,那么我们在Pastebin中,将学习到Django和高亮语法JS的协作,顺便复习一下在Django中加入表单。 1.创建项目和应用 我们先来创建本实例的项目,在dos命令提示符下转到Scripts文件夹(如“c:\python32\Scripts”)
《Django Web开发指南》的实例讲的差不多了,除了今天要介绍的LiveBlog,还有一个Pastebin。这样,书中的实例基本讲完了。做完这些实例之后,舍得建议回头看看这本书,或许你会从书中找到舍得所讲的实例里忽略掉的一些细节。此外,《Django Web开发指南》中有几个章节是关于Django的基础或高级技术的,建议阅读并设法把它应用到你所练习过的实例中。 正如你已经看到
回顾一下我们之前讲过的几个实例的流程,现在,我们只要添加一些内容(用来测试),创建视图、模板和URL模式,就能完成这个小型的CMS了。 7.添加内容 我们先来创建一个分类,点击Categories后面的“增加”按钮,然后在Label文本框中输入:“Django”,在slug文本框后面输入“django”(django不用输入也能自动出现,你可以改成自己喜欢的名字):
CMS,即Content Management System,内容管理系统。我们这里要开发的小型CMS应用,从结构上和blog应用有些类似,但我们会在这里加入一些新的技术,比如说工作流、搜索功能、编辑组件等。 1.创建项目和应用 我们先来创建本实例的项目,在dos命令提示符下转到Scripts文件夹(如“c:\python32\Scripts”),然后运行如下命令:
在Part1中我们完成了框架搭建等一系列的准备工作,舍得前面讲过Django的几个要素:模型、视图、模板、链接,现在我们仅仅完成了模型部分的工作。 10.添加内容 在讲其它内容之前,让我们先往items应用里添加些内容。 在上一步打开的页面中点击Items后面的”增加“按钮: 做过前面两个实例的童鞋,相信对这样的表单已经很熟悉了。一个item好比一个帖子,它可以配
这个实例与上个实例一样,源自《Django Web开发指南》,舍得根据Django 1.7.1的特性进行了重新编写。 《Django Web开发指南》中所用的Django是1.0版,和现在的最新版本相比,有很大差异,比如通用视图、URL、静态文件的处理等等。最初做这本书的实例时,这些变化曾给舍得带来很大的困扰,还好,实例做得多了,慢慢掌握了一些规律,最终把这些实例修改成在Django 1.7
在Part1中,我们完成了本项目的基本框架搭建,并完善了一下管理后台,现在我们来看如何设计面向公共的页面部分。 8.创建模板 首先,请在blog文件夹下建立templates文件夹,然后,在templates文件夹中建立一个叫bog的文件夹,在这个bog文件夹下新建一个archive.html文件,这个文件的路径应该是: bog/templates/bog/a
舍得学习新技能的时候,通常不喜欢傻读书——捧着一本阐述该项技能的书籍,然后傻看,一路看下来,脑子里塞满了新的概念、知识点,头是越来越大,但技能却几乎没掌握半分。 多年来,舍得养成了用做实例来学习新技能的习惯。这可不是舍得的独创,在象棋、围棋界中,历来有“打谱”一说,就是根据棋谱,把一步步棋摆出来,在打谱的过程中,去感悟、去吸收,此时感悟到的、吸收进的,才是属于你自己的东西。新的技能就这样一步步发
我们终于迎来了官方实例的最后一个Part。在这一节中,舍得要向大家介绍Django的静态文件管理。 现在,我们要往这个投票应用里面添加一个CSS样式表和一张图片。 一个完整的网页文件,除了html文档外,通常还需要其它一些文件,比如图片、JS或者CSS,这些文件,我们称之为“静态文件”。 在那些小项目中,我们不需要对静态文件关注太多,因为你可以将这些文件随便放置,只要你的服务器能查找得到就好
俗话说,人非圣贤,孰能无过。在堆代码的过程中,即便是老攻城狮,也会写下一些错误的内容。俗话又说,过而能改,善莫大焉。要改,首先要知道哪里存在错误,这便是我们要对投票应用进行测试的原因。 21.撰写第一个测试 在我们这个项目中,还真有一个bug存在。这个bug位于Question.was_published_recently() 方法中。当Question提交的日期是正确的,
上一个part我们创建了投票的内容页,但这个页面仅仅局限于静态展示,投票的“投”字还无从体现。接下来,我们就来看一下,如何把票投起来。 19.创建表单 我们来更新模板文件polls/detail.html,在其中加入“form”元素: polls/templates/polls/detail.html : <h1>` question`.`questi
前面两个部分我们介绍了投票应用的框架和后台管理部分。接下来舍得要介绍这个应用面向用户的界面。 这里我们要引入一个新的概念,“视图”。在Django中,视图是一根连接模型和模板的纽带,它决定哪些数据要呈现给用户。 来看一下Django的这几个核心概念: 模型:负责和数据库打交道,把数据传入、传出给数据库; 模板:负责最终显示给用户的页面的显示方式; 视图:将模型和模板连接
我们接着Part1部分往下讲.我们在part1中启动服务器后,并没有在管理页面中发现新添加的Polls应用,怎么办捏? 7.在管理界面中显示Question 只要注册一下这个应用就可以了。编辑polls/admin.py 文件,让它变成下面这个样子: polls/admin.py: from django.contrib import admin from polls.model
【写在前面】 撰写这个实战系列的Django文章,是很久之前就有的想法,问题是手头实例太少,一旦开讲,恐有“无米下锅”之忧。 随着对Django学习的深入,渐渐有了些心得,把这些心得整理出来,以规范的、方便新人上手的撰写方式来写这个实战系列,相信对刚接触Django的童鞋会有一定的帮助。 舍得这里所用到的版本,为Django 1.7.1,Python 3.2,想要按照舍得讲解的实例上手练习的
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号