django项目的结构大体上都是类似,打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接压缩打包。 这里还想集成一个配置文件模板生成配置文件的过程,或者写一个配置文件生成的工具,不用每次都复制修改,容易出错。 下面是orangleliu君的一个小实验,仅供参考和相互交流。

这是项目的文件结构。

setuptools应该是对标准库中的setup模块进行了封装,看起来更好用一些。

打包过程

前提 安装setuptools模块,一般都会安装,因为pip的原因。

在project目录下,新建一个setup.py 文件。

#coding:utf-8
#package project

from setuptools import setup, find_packages

setup(
    name="apmonitor",
    version="1.0.0",

    author="orangleliu",
    author_email="orangleliu@gmail.com",

    #自动寻找带有 __init__.py 的文件夹
    packages=find_packages(exclude=["logs"]),

    install_requires = ['django==1.6'],
    description = "ap monitor system",

    #单独的一些py脚本,不是在某些模块中
    scripts = ["dbrouters.py","index.py",
               "manage.py", "settings.py",
               "uwsgi.py", "__ini__.py"],

    #静态文件等,配合MANIFEST.in (package_data 参数不太好使)
    include_package_data = True,

    #如果是正式的项目,还会有更多的信息(例如开源证书写在下面)
    url = "http://wifi21.com",
)

这里的文件只包含了python的一些脚本,还有打包信息

添加静态资源(htm 样式 js 图片 配置等)需要另外一个配置文件MANIFEST.in

recursive-include conf *
recursive-include staticfiles *
recursive-include templates *
recursive-include */templates *

然后再使用命令打包

python setup.py sdist 

会在setup.py 同级的目录下生成一个dist文件夹,里面包含了打包好的文件,同时生成了一个xxx.egg-info 的文件。

小结

这个过程是最简单的,只有一些pyhton模块和静态资源的打包,setup还可以生成许多中格式的包,更多的定制选项,查文档可获得。后面需要一些定制的东西,有些变了生成,还有一些自动化的东西添加。

声明:

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/46604237 作者orangleliu 采用署名-非商业性使用-相同方式共享协议

[django]项目打包构建的更多相关文章

  1. Django项目打包

    Django项目打包 这是目前开发完成的project目录树.我们要打包其中的polls app. (v_python3.6) thinkt@linux-pw37:~/PycharmProjects/ ...

  2. Nginx+Uwsgi+Django 项目部署到服务器。

    首先先说一下思路: 1.本地django项目打包 主要用到的是 python自带的distutils.core 下的 setup,具体代码在下面,主要讲的两个问题是package主要打包为和目录同级的 ...

  3. SpringBoot+Maven 多模块项目的构建、运行、打包

    SpringBoot+Maven 多模块项目的构建.运行.打包 https://blog.csdn.net/zekeTao/article/details/79413919

  4. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  5. K8S实战-构建Django项目-03-使用共享存储

    上篇博文,发布之后,正好跟着双十一,不知道大家剁手了没~~.好啦,言归正传先声明一下,每周1,3,5更新教程,大家如果想要了解更多的教程可以重温一下之前的教程或者,关注崔格拉斯 公众号,大家想要源码的 ...

  6. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    前言 最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服 ...

  7. 打包django项目

    1.安装pip install pyinstaller2.在django项目目录下执行pyi-makespec -D manage.py # 生成manage.spec文件3.执行pyinstalle ...

  8. [译]如何使用 Docker 组件开发 Django 项目?

    原文地址:Django Development With Docker Compose and Machine 以下为译文 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包 ...

  9. Django-下载安装-配置-创建django项目-三板斧简单使用

    目录 Django 简介 使用 django 的注意事项 计算机名不能有中文 Django版本问题 django下载安装 在命令行下载安装 在pycharm图形界面下载安装 检验是否安装成功 创建Dj ...

随机推荐

  1. MQ(消息队列)常见的应用场景解析

    前言 提高系统性能首先考虑的是数据库的优化,之前一篇文章<数据库的使用你可能忽略了这些>中有提到过开发中,针对数据库需要注意的事项.但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所 ...

  2. 在浏览器中运行Keras模型,并支持GPU

    Keras.js 推荐一下网页上的 demo https://transcranial.github.io/keras-js/#/ 加载的比较慢,但是识别的非常快. Run Keras models ...

  3. 【js-xlsx和file-saver插件】前端导出数据到excel

    最近在做项目,前端进行处理数据,导出excel中,还是遇到不少问题,这里将其进行总结一下,博主是vue框架开发,借用file-saver和xlsx插件进行导出excel,我们来看下代码和效果.地址链接 ...

  4. dfsdf

    This project was bootstrapped with Create React App. Below you will find some information on how to ...

  5. Maven集成dubbo时报错 Missing artifact com.alibaba:dubbo:jar:2.8.4

    1.下载dubbo,地址:https://github.com/dangdangdotcom/dubbox . 2.将下载的压缩包解压. 3.命令行进入下载路径,执行mvn install -Dmav ...

  6. 如何成为快手尬舞王?HUAWEI HiAI了解一下!

    左手!右手!抱一抱!扭一扭! 快手短视频,红遍东西南北中, 给大家的生活增添了不少乐趣. 有了人体姿态识别的魔法表情, 不会跳舞的也都可以跟着跳一跳. 从村口朴实的阿姨,到写字楼里端庄的白领, 在人体 ...

  7. python笔记六(函数的参数、返回值)

    一 调用函数 在写函数之前,我们先尝试调用现有的函数 >>> abs(-9) 9 除此之外,还有我们之前使用的len()等.可以用于数据类型转换的 int() float() str ...

  8. 干货!一次kafka卡顿事故排查过程

    由于一次功能上线后,导致某数据量急剧下滑,给我们紧张的呢!排查过程也是个学习过程(这其中有大部分是领导们的功劳,不过分享给大家应该也不犯法吧,ᐓ) 1. 确认问题的真实性? 被数据部门告知,某数据量下 ...

  9. hiredis的各种windows版本

    hiredis的各种windows版本(金庆的专栏 2016.12)hiredis 是内存数据库 redis 的客户端C库, 不支持Windows.hiredis的Windows移植版本有许多:des ...

  10. Java Web前端到后台常用框架介绍

    一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 Spring Web MVC是一种基于Java的实现了Web MV ...