`
yessir163
  • 浏览: 33057 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

我的第一个Django应用

阅读更多
业余时间自学Python,通常都是做些简单的文本替换、查找和简单的shell脚本。之前都是用bash和perl。bash的功能弱了点儿,perl的语法太难记,都放弃了。遇到python后发现上手很容易,功能比较强,挺喜欢的,就一边用一边学,断断续续也有3年了。(惭愧,3年了还徘徊在入门水平

第一个稍微像样点儿的python程序,是一个嵌入式项目的daily build脚本。当时项目的编译比较花时间,大概需要半个小时才能编译完。再加上生成image的环境也比较复杂,需要一个能自动编译和生成image的工具。那会儿刚看完Learning Python,对Python还没啥感觉,基本上是把以前写bash脚本的方法,直接搬过来写。现在看来,那代码是惨不忍睹了。不过当时是比较满意的,因为能很正常的完成任务。那个工具一直正常服役到整个部门被解散掉。

接下来开始对wxPython发生兴趣。这时正好碰上组里头有人有一个小小的需求,需要把大量的GPS数据导成KML文件。说白了,也就是很简单的文本解析和KML文件生成,拿python做这个太easy了。正好对wxPython也一知半解,拿来练手不错。于是东拼西凑的,弄出了一个GUI版的工具,没想到竟然挺受欢迎的。于是需求不断涌来,几个型号产品生成的数据(格式相差还挺大)都有相同的需要,大家都说去,找他要个工具。

用的人多了,麻烦也来了。组里就我一个人用python,不可能让每个人都装一套python的环境吧,人家就要一个小工具,你动辄就要人家装个几十MB的软件,大家都麻烦。这时想的第一件事就是怎么能轻松发布。Google了一番后,找到了py2exe,直接把python的程序和所需的环境转成windows下可发布的东西。600来行的代码要发布近15M的东西,虽然不太满意,但终归比较方便了。

没多久,麻烦事儿又来了。数据生成端随着项目的进展在不断变化,我这工具也要跟着不断更新。怎么把更新后的软件丢给使用工具的人呢?总不至于为了这么小个软件搞个自动升级吧。说来也是机缘巧合,正巧这时开始对web发生兴趣,如果把这个工具搞成web app,就可以解决这个问题了。随便Goolge一下,一大堆推荐Django的文章,都说上手如何之快,功能如何之强,甚至于搞个视频20分钟给你建一个blog应用出来,那是相当的诱惑啊。于是找了本Django的书(也巧,那时正好Django的第一本中文书也出版了),翻了一遍,虽然基本没动手,但是看起来确实是比较适合我这种水平和需求。

工具定下来了,接下来就是动手了。目标明确,步骤也不复杂。只要将原来的桌面GUI的东东转成web界面,底下解析和文件生成的部分,变化基本不大。知易行难,前前后后也花了10个工作日,呵呵,远不像人家20分钟搞定一个blog那么轻松。但从最后的结果来看,Django的确是个很棒的东东。如果你像我一样,只会一点点Python的基本语法,从来没有做过web开发,仅仅了解一点html和极少的css,Django会给你一双翅膀。

整个工作大致分为几个阶段:
  1. 建立数据模型和视图。
    • 因为目标比较简单,需要保存在数据库里东西很少,而且关系简单明确(many to many)。因此数据模型只要处理很简单的东西就好,启用Django的admin后,已经可以满足我的需要。
    • 这一阶段主要纠结在如何使用form,如何将原GUI选项转换成web的form,怎样处理post数据。
  2. 处理文件上传。对于desktop版,这个比较简单,只要简单的读取文件操作就好。转到web后,当文件很大的时候,数据会分段传进来。因此这一阶段主要花时间在文件拼接和分段解析处理。
  3. 页面布局和美化。由于没有什么web开发经验,css也不大懂。这个阶段基本就是照抄Django官网的css和页面布局 。按照输入数据和输出数据,修改模板。
  4. 发布。在开发环境下都调试好后,发布竟然用了整整一天。基本上问题都出在代码中使用了相对路径,最后都改成了绝对路径。另外就是在apahce中处理一些静态文件的发布。


总的来说,这次试用Django的过程还是蛮令人兴奋的,结果也还不错。对于web开发,Django确实是个不错的工具。
0
0
分享到:
评论

相关推荐

    写你的第一个Django应用.pdf

    写你的第一个Django应用.pdf写你的第一个Django应用.pdf

    写你的第一个Django应用(中文高清PDF)

    写你的第一个Django应用 原文: http://docs.djangoproject.com/en/dev/intro/tutorial01/

    写你的第一个Django应用源码

    Writing your first Django app

    The Django Book(第一版 中文高清版)

    第一章 Django介绍 第二章 让我们开始吧! 第三章 动态页面基础 第四章 Django的模板系统 第五章 和数据库打交道:数据建模 第六章 Django的管理界面 第七章 表单处理 第八章 高级视图和URL配置 第九章 通用视图 ...

    DjangoWeb开发指南

    致谢 引言 第一部分 入门 第1章 DjangoPython实战 1.1 Python技术就是Django技术 1.2 入门:Python交互解释器 ...第三部分 Django应用实例 第7章 PhotoGallery 7.1 模型 7.2 准备文件上传 7.3 安装PIL

    django-simple-blog:我的第一个Django应用程序

    简单博客我仍在使用CSS并添加一些功能欢迎,这是我的第一个Web开发项目,希望您喜欢该项目中使用的工具Django框架Python 3.8 引导程序4 在该Web应用程序中,您可以创建,编辑和删除有关任何主题的帖子

    Django-beginner-tutorial-source-code:Django初学者教程的源代码逐步遵循“ DjangoDocumentationR2.1.5.pdf”。 从“ 2.3编写第一个Django应用程序,第1部分”到“ 2.9编写第一个Django应用程序,第7部分” Python 3.5,Apache和mod_wsgi(网站管理员和密码)

    从“ 2.3编写第一个Django应用程序,第1部分”到“ 2.9编写第一个Django应用程序,第7部分”。 Python 3.5,Apache和mod_wsgi (网站管理员和密码:root / 123456) Django初学者教程源代码 Django初学者教程的...

    轻量级Django.pdf

    第1 章,世界上最小的Django 项目。创建轻便简单的网络应用是本书的核心思想。在这一章,要创建一个可运行的单行文件“Hello World ”的Django 应用。 第2 章,无状态的Web 应用。讲述占位符图像服务的创建方法。第2...

    django-app:我的第一个Django应用...

    django-app:我的第一个Django应用...

    proj_a:我的第一个Django应用

    proj_a:我的第一个Django应用

    Django Web框架入门到精通 中文版

    第一章:介紹Django 第二章 入门 第三章 视图和URL配置 第四章:模版 第五章:模型 第六章:Admin 第七章:表单 第八章 高级视图和URL配置 第九章:模版高级进阶 第十章 模型高级进阶 第十一章:通用视图 第十二章...

    django从入门到深入WEB教程

    第一章 Django介绍 第二章 让我们开始吧 第三章 动态页面基础 第四章 Django的模板系统 第五章 和数据库打交道:数据建模 第六章 Django的管理界面 第七章 表单处理 第八章 高级视图和URL配置 第九章 通用视图 第十...

    django中文官方文档

    编写你的第一个 Django 应用,第 1 部分 让我们通过示例来学习。 通过这个教程,我们将带着你创建一个基本的投票应用程序。 它将由两部分组成: 一个让人们查看和投票的公共站点。 一个让你能添加、修改和删除...

    Django1.11框架课件.zip

    Python下有许多款不同的 Web ...Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)

    django-package-monitor, 用于跟踪依赖项更新的Django 应用程序.zip

    django-package-monitor, 用于跟踪依赖项更新的Django 应用程序 Django 包监视器用于跟踪依赖项更新的Django 应用程序。背景在 YunoJuno,我们有... 为了管理这些更新,我们有一个滚动开发任务,在每月的第一周,包括:

    Djangobook2中文版.

    2. 第一章:介紹Django 3. 第二章:入门 4. 第三章:视图和URL配置 5. 第四章:模版 6. 第五章:模型 7. 第六章:Django站点管理 8. 第七章:表单 9. 第八章:高级视图和URL配置 10. 第九章:模版高级进阶 ...

    Python使用Django创建Web程序

    资源选自《Python变成从入门到实践》一书,该书提供三个Python入门项目,此为第三个项目Web应用程序,利用Python的Django模块创建和运行Web应用程序。开发顺序可参见我的一片博文。

    精通django

    本书的第二个目的(没那么重要)是为程序员提供一份关于 Django 长期支持(Long Term Support,LTS)版本的手册。目前,Django 已经成熟,很多重要的商业网站都使用它开发。因此,本书意欲成为采用 Django 1.8 LTS ...

    轻量级Django.[美]Julia Elman(带详细书签).pdf

    第1章,世界上最小的Django 项目。创建轻便简单的网络应用是本书的核心思想。在这一章,要创建一个可运行的单行文件“Hello World ”的Django 应用。 第2章,无状态的Web 应用。讲述占位符图像服务的创建方法。第2 ...

    中文版django book

    第一章:介紹Django 完成度 100.00% 阅读 翻译 第二章 入门 完成度 100.00% 阅读 翻译 第三章 视图和URL配置 完成度 100.00% 阅读 翻译 第四章:模版 完成度 100.00% 阅读 翻译 第五章:模型 完成度 100.00% 阅读 ...

Global site tag (gtag.js) - Google Analytics