博客
关于我
怎么使用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 insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>