博客
关于我
怎么使用python打包一个应用?
阅读量:131 次
发布时间:2019-02-27

本文共 3037 字,大约阅读时间需要 10 分钟。

         项目中往往需要将一个应用进行可重复的使用, 我们可以直接借助python对django应用程序进行打包, 打包完成后,再其他模块里引入打包的模块就可以将一个应用到处引入到其他模块里了。

  1. 首先,在你的 Django 项目目录外创建一个名为 django-polls 的文件夹,用于盛放 polls。
  2. 将 polls 目录移入 django-polls 目录。
  3. 创建一个名为 django-polls/README.rst 的文件,包含以下内容:
    =====Polls=====Polls is a Django app to conduct Web-based polls. For each question,visitors can choose between a fixed number of answers.Detailed documentation is in the "docs" directory.Quick start-----------1. Add "polls" to your INSTALLED_APPS setting like this::    INSTALLED_APPS = [        ...        'polls',    ]2. Include the polls URLconf in your project urls.py like this::    path('polls/', include('polls.urls')),3. Run ``python manage.py migrate`` to create the polls models.4. Start the development server and visit http://127.0.0.1:8000/admin/   to create a poll (you'll need the Admin app enabled).5. Visit http://127.0.0.1:8000/polls/ to participate in the poll.
  4. 创建一个 django-polls/LICENSE 文件。选择一个非本教程使用的授权协议,但是要足以说明发布代码没有授权证书是 不可能的 。Django 和很多兼容 Django 的应用是以 BSD 授权协议发布的;不过,你可以自己选择一个授权协议。只要确定你选择的协议能够限制未来会使用你的代码的人。
    下一步我们将创建 setup.cfg``和``setup.py 文件用于说明如何构建和安装应用的细节。关于此文件的完整介绍超出了此教程的范围,但是 setuptools docs 有详细的介绍。创建文件 django-polls/setup.py 包含以下内容:
    [metadata]name = django-pollsversion = 0.1description = A Django app to conduct Web-based polls.long_description = file: README.rsturl = https://www.example.com/author = Your Nameauthor_email = yourname@example.comlicense = BSD-3-Clause  # Example licenseclassifiers =    Environment :: Web Environment    Framework :: Django    Framework :: Django :: X.Y  # Replace "X.Y" as appropriate    Intended Audience :: Developers    License :: OSI Approved :: BSD License    Operating System :: OS Independent    Programming Language :: Python    Programming Language :: Python :: 3    Programming Language :: Python :: 3 :: Only    Programming Language :: Python :: 3.6    Programming Language :: Python :: 3.7    Programming Language :: Python :: 3.8    Topic :: Internet :: WWW/HTTP    Topic :: Internet :: WWW/HTTP :: Dynamic Content[options]include_package_data = truepackages = find:
  5. 默认包中只包含 Python 模块和包。为了包含额外文件,我们需要创建一个名为 MANIFEST.in 的文件。上一步中关于 setuptools 的文档详细介绍了这个文件。为了包含模板、README.rst 和我们的 LICENSE 文件,创建文件 django-polls/MANIFEST.in 包含以下内容:
    include LICENSEinclude README.rstrecursive-include polls/static *recursive-include polls/templates *
  6. 在应用中包含详细文档是可选的,但我们推荐你这样做。创建一个空目录 django-polls/docs 用于未来编写文档。额外添加一行至 django-polls/MANIFEST.in
    recursive-include docs *
  7. 通过 ptyhon setup.py sdist (在 django-polls``目录内)。这将创建一个名为 ``dist 的目录并构建你自己的应用包, django-polls-0.1.tar.gz:
  8. 生成包以后,接下来在django-polls目录外输入命令:

python -m pip install --user django-polls/dist/django-polls-0.1.tar.gz

 成功后,会出现如下提示: 

想卸载应用?

python -m pip uninstall django-polls

 

  找到对应的资源后,将2个文件夹放入到Python的全局环境中:

 

怎么使用?

from polls.models import User

 启动报错? 需要在settings.py文件里添加模块polls:  

INSTALLED_APPS = [    'simpleui',    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'polls']

 

转载地址:http://buwb.baihongyu.com/

你可能感兴趣的文章
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>