开发者社区> 天飞.h> 正文

Django项目打包

简介: Django项目打包 这是目前开发完成的project目录树。我们要打包其中的polls app。 (v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite> tree .
+关注继续查看
Django项目打包
这是目前开发完成的project目录树。我们要打包其中的polls app。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite> tree
.
├── db.sqlite3
├── mysite
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   ├── settings.cpython-36.pyc
│   │   ├── urls.cpython-36.pyc
│   │   └── wsgi.cpython-36.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── polls
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── 0002_auto_20170401_1758.py
│   │   ├── __init__.py
│   │   └── __pycache__
│   │       ├── 0001_initial.cpython-36.pyc
│   │       ├── 0002_auto_20170401_1758.cpython-36.pyc
│   │       └── __init__.cpython-36.pyc
│   ├── models.py
│   ├── __pycache__
│   │   ├── admin.cpython-36.pyc
│   │   ├── apps.cpython-36.pyc
│   │   ├── __init__.cpython-36.pyc
│   │   ├── models.cpython-36.pyc
│   │   ├── tests.cpython-36.pyc
│   │   ├── urls.cpython-36.pyc
│   │   └── views.cpython-36.pyc
│   ├── static
│   │   └── polls
│   │       ├── images
│   │       │   └── background.jpg
│   │       └── style.css
│   ├── templates
│   │   └── polls
│   │       ├── detail.html
│   │       ├── index.html
│   │       └── results.html
│   ├── tests.py
│   ├── urls.py
│   └── views.py
└── templates
    └── admin
        ├── base_site.html
        └── index.html
复制一份添加前辍头django,让人容易识别这是一个django项目。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite> cp polls django-polls -rfv
创建说明文件,方便其它人阅读。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite> vim django-polls/README.rst
=====
Polls
=====

Polls is a simple 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::

    url(r'^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.

创建setup.py脚本,提供详细的关于build,使用等方法。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> vim setup.py
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> cat setup.py
import os
from setuptools import find_packages, setup

with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme:
    README = readme.read()

# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))

setup(
    name='django-polls',
    version='0.1',
    packages=find_packages(),
    include_package_data=True,
    license='BSD License',  # example license
    description='A simple Django app to conduct Web-based polls.',
    long_description=README,
    url='https://www.example.com/',
    author='Your Name',
    author_email='yourname@example.com',
    classifiers=[
        'Environment :: Web Environment',
        'Framework :: Django',
        'Framework :: Django :: X.Y',  # replace "X.Y" as appropriate
        'Intended Audience :: Developers',
        'License :: OSI Approved :: BSD License',  # example license
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        # Replace these appropriately if you are stuck on Python 2.
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ],
)
创建附加文件说明。
v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> vim MANIFEST.in
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> cat MANIFEST.in
include LICENSE
include README.rst
recursive-include polls/static *
recursive-include polls/templates *
recursive-include docs *
附加文件有有个docs目录,创建docs目录,如果有文档等放置在其中。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> mkdir docs

开始打包。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls> python setup.py sdist
running sdist
running egg_info
creating django_polls.egg-info
writing django_polls.egg-info/PKG-INFO
writing dependency_links to django_polls.egg-info/dependency_links.txt
writing top-level names to django_polls.egg-info/top_level.txt
writing manifest file 'django_polls.egg-info/SOURCES.txt'
reading manifest file 'django_polls.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'LICENSE'
warning: no files found matching '*' under directory 'polls/static'
warning: no files found matching '*' under directory 'polls/templates'
warning: no files found matching '*' under directory 'docs'
writing manifest file 'django_polls.egg-info/SOURCES.txt'
running check
creating django-polls-0.1
creating django-polls-0.1/django_polls.egg-info
creating django-polls-0.1/migrations
copying files to django-polls-0.1...
copying MANIFEST.in -> django-polls-0.1
copying README.rst -> django-polls-0.1
copying setup.py -> django-polls-0.1
copying django_polls.egg-info/PKG-INFO -> django-polls-0.1/django_polls.egg-info
copying django_polls.egg-info/SOURCES.txt -> django-polls-0.1/django_polls.egg-info
copying django_polls.egg-info/dependency_links.txt -> django-polls-0.1/django_polls.egg-info
copying django_polls.egg-info/top_level.txt -> django-polls-0.1/django_polls.egg-info
copying migrations/0001_initial.py -> django-polls-0.1/migrations
copying migrations/0002_auto_20170401_1758.py -> django-polls-0.1/migrations
copying migrations/__init__.py -> django-polls-0.1/migrations
Writing django-polls-0.1/setup.cfg
creating dist
Creating tar archive
removing 'django-polls-0.1' (and everything under it)

在dist目录下存放了打包好的文件。
(v_python3.6) thinkt@linux-pw37:~/PycharmProjects/mysite/django-polls/dist> ll
总用量 4
-rw-r--r-- 1 thinkt users 2349 4月  18 15:08 django-polls-0.1.tar.gz

使用pip安装本地打包。
pip install --user django-polls/dist/django-polls-0.1.tar.gz

使用pip的uninstall删除
pip uninstall django-polls

参考:https://docs.djangoproject.com/en/1.10/intro/reusable-apps/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
从零教你使用Maven,从此项目打包不用愁
Maven【[ˈmevən]】这个词可以翻译为"专家",“内⾏”。作为Apache组织中的⼀个颇为成功的开源项⽬,Maven主要服务于基于java平台的项⽬构建,依赖管理和项⽬信息管理。
91 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28307 0
在项目中使用Google托管的JavaScript库
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/8085295 《在项目中使用Google托管的JavaScript库》 作者:chszs,转载需注明。
723 0
补习系列-springboot-使用assembly进行项目打包
目录 springboot-maven插件 1. 项目打包Jar 2. 项目完整构建 3. 本地包依赖 参考文档 springboot-maven插件 springboot-maven插件 repackage目标声明 Requires a Maven project to be executed.
2640 0
Django问卷调查项目思路
Django问卷调查项目思路流程: 1 后端思路 : 需求分析 —- 找出各实体对应关系 —- 设计model架构 —- 统一资源封装 — 提供资源API入口 —- 设计项目实体功能 — 通过API实现实体...
1303 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20284 0
走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
本文出自我的公众号:程序员江湖。 满满干货,关注就送。 小李的Build之路(上) 转自: 刘欣 码农翻身 2016-07-10 摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了。
1730 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23541 0
+关注
天飞.h
脚踏实地,仰望天空. https://talenhao.github.io/
260
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载