python小白系统_Django入门到进阶-更适合Python小白的系统课程

本文适合Python初学者,详细讲解了如何将Django应用设计为可复用的组件,包括创建可重用的Django应用,打包应用,设置环境,以及发布应用到公共仓库的过程。
摘要由CSDN通过智能技术生成

Django入门到进阶-更适合Python小白的系统课程学习 教程 资源✌✌

设计,构建,测试以及维护一个 web 应用要做很多的工作。很多 Python 以及 Django 项目都有一些常见问题。如果我们能保存并利用这些重复的工作岂不是更好?

可重用性是Python的生存方式。 查看 Django packages 以了解您可以整合到项目中的现有可重用应用。

Django本身也只是一个Python包。这意味着您可以将现有的Python包或Django应用组合到您自己的Web项目中。您只需编写您项目独一无二的部分。

假设你现在创建了一个新的项目,并且需要一个类似我们之前做的投票应用。你该如何复用这个应用呢?

庆幸的是,其实你已经知道了一些。在之前的博文中,我们使用过 include 从项目级别的 URLconf 分割出 polls,供poll应用使用。

在本博文中,我们将进一步使这个投票应用易用于新的项目中,并发布给其他人安装使用。

包?应用?

一个 package 提供了一组关联的 Python 代码的简单复用方式。一个包(“模块”)包含了一个或多个 Python 代码文件。

一个包通过 import foo.bar 或 from foo import bar 的形式导入。一个目录(例如 polls)要成为一个包,它必须包含一个特定的文件 __init__.py,即便这个文件是空的。

Django 应用仅仅是专用于 Django 项目的 Python 包。应用会按照 Django 约定,创建好 models,tests, urls, 以及 views 等子模块。

稍后,我们将解释术语 打包 ——为了方便其它人安装 Python 包的处理流程。

你的项目和可复用应用

通过前面的实战,我们的工程目录结构应该看起来像这样:

目录中的 polls 包现在可以被拷贝至一个新的 Django 工程,且立刻能被复用。虽然它还没有准备好发布。 为此,我们需要打包应用,以便其他人安装。

安装必须环境

目前,打包 Python 程序需要工具,有许多工具可以完成此项工作。在此教程中,我们将使用 setuptools 来打包我们的程序。这是推荐的打包工具(与 发布 分支合并)。我们仍旧使用 pip 来安装和卸载这个工具。

打包你的应用

Django 本身就被打包成类似的形式。对于一个小应用,例如 polls,这不会太难。

首先,在你的 Django 项目目录外创建一个名为 django-polls 的文件夹,用于盛放 polls。

为你的应用选择一个名字——当你创建你的发布包时,可以在模块名前增加 django- 前缀,这是一个很常用也很有用的避免包名冲突的方法。同时也有助于他人在寻找 Django 应用时确认你的 app 是 Django 独有的。应用标签(指用点分隔的包名的最后一部分)在 INSTALLED_APPS 中必须是独一无二的。避免使用任何与 Django contrib packages 文档中相同的标签名,比如 auth,admin,messages。

然后将 polls 目录移入 django-polls 目录。

创建一个名为 django-polls/README.rst 的文件,包含以下内容:

创建一个 django-polls/LICENSE 文件。Django 和很多兼容 Django 的应用是以 BSD 授权协议发布的;不过,你可以自己选择一个授权协议。只要确定你选择的协议能够限制未来会使用你的代码的人。

下一步我们将创建 setup.py 用于说明如何构建和安装应用的细节:

创建文件 django-polls/setup.py 包含以下内容:

默认包中只包含 Python 模块和包。为了包含额外文件,我们需要创建一个名为 MANIFEST.in 的文件。为了包含模板、README.rst 和我们的 LICENSE 文件,创建文件 django-polls/MANIFEST.in 包含以下内容:

在应用中包含详细文档是可选的,但我们推荐你这样做。创建一个空目录 django-polls/docs 用于未来编写文档。额外添加一行至 django-polls/MANIFEST.in

注意,现在 docs 目录不会被加入你的应用包,除非你往这个目录加几个文件。许多 Django 应用也提供他们的在线文档通过类似 readthedocs.org 这样的网站。

试着构建你自己的应用包通过 ptyhon setup.py sdist (在 django-polls 目录内)。这将创建一个名为dist 的目录并构建你自己的应用包, django-polls-0.1.tar.gz。

使用你自己的包名

由于我们把 polls 目录移出了项目,所以它无法工作了。我们现在要通过安装我们的新 django-polls 应用来修复这个问题。

使用 pip安装这个包:

幸运的话,你的 Django 项目应该再一次正确运行。启动服务器确认这一点。

通过 pip 卸载包:

发布你的应用

现在,你已经对 django-polls 完成了打包和测试,准备好向世界分享它!如果这不是一个例子应用,你现在就可以这样做。

通过邮件将你的包发送给朋友。

将这个包上传至你的网站。

将你的包发布至公共仓库

通过 virtualenv 安装 Python 包

就在刚刚,我们以用户库的形式安装了投票应用。这样做有一些缺点。

修改用户库会影响你系统上的其他 Python 软件。

你将不能运行此包的多个版本(或者其它用有相同包名的包)。

一般来说,这些状况只在你同时运行多个 Django 项目时出现。当这个问题出现时,最好的解决办法是使用 virtualenv 。

这个工具允许你同时运行多个相互独立的Python环境,每个环境都有各自库和应用包命名空间的拷贝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值