博客
关于我
怎么使用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一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>