django 如何重用app
若有一个已经运行稳定的程序,那么可以将其打包,供其他项目安装使用。
假设django项目的目录结构如下:
- mysite/
- manage.py
- mysite/
- __init__.py
- settings.py
- urls.py
- wsgi.py
- polls/
- __init__.py
- admin.py
- migrations/
- __init__.py
- 0001_initial.py
- models.py
- static/
- polls/
- images/
- background.gif
- style.css
- templates/
- polls/
- detail.html
- index.html
- results.html
- tests.py
- urls.py
- views.py
- templates/
- admin/
- base_site.html
想要把polls打包出去,首先将polls文件夹拷贝到一个新的目录下,如django-polls;
创建文件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.
创建了license文件,django-polls/LICENSE;
创建django-polls
/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',
- ],
- )
创建django-polls/MANIFEST.in
文件,内容如下:
- include LICENSE
- include README.rst
- recursive-include polls/static *
- recursive-include polls/templates *
在目录django-polls下执行打包命令:python setup.py sdist
,将会在目录sdist下产生压缩文件 django-polls-0.1.tar.gz
.
使用时:
安装: pip install --user django-polls/dist/django-polls-0.1.tar.gz
卸载: pip uninstall django-polls
django 如何重用app的更多相关文章
- django 添加comments app
django 添加comments app 参看 django comments 文档 安装和配置comments 1.安装comments,运行:pip install django-contrib ...
- django根据不同app配置相应的log文件
django根据不同app配置相应的log文件 settings.py # django logging LOG_PATH = "/var/log/blog/" LOGGING = ...
- Django中的APP
3. Django中的APP: 什么是APP?以及为什么要用APP? project --> 项目 (老男孩教育大学校) APP --> 应用 (Linux学院/Python学院/大数据学 ...
- Django~NewProject and APP
New Project 1.新建 django-admin startproject mysite 2.运行 manage.py runserver 8080 New APP 1.manage.py ...
- Django 加载 app 中的urls
在 blog app 下创建 urls.py, 定义该 app 下自有的 url : new/story from blog import views from django.conf import ...
- Django --- Django下载和APP创建 ORM (大概步骤)
1,下载: 命令行: pip install django == 1.11.15 pip install -i或 源 django == 1.11.15 pycharm settings 解释器 点 ...
- Django:同一个app支持多个数据库
我以我个人的Mynote工程说明,目的是要在backend这个app里面设置不同的model对应daysn和bear两个数据库进行操作 现在我们先简单对一个完全新建的django工程配置一个自动在my ...
- Django学习手册 - 创建Django工程项目以及APP
前置步骤: 下载python,django 并且安装好 python 解释器以及django模块. 整体步骤阐述: 创建django工程项目 步骤一:进入安装的python目录 步骤二:输入创建工程的 ...
- django 数据库配置 ,APP 迁移.模型基础
# 1.数据库的连接配置django 连接mysql的配置流程:- 安装 pymysql pip install pymysql- 创建数据库用户有创建数据库权限的用户- 创建数据库crm .进入数据 ...
随机推荐
- sql 2008常用语法语句收集
EXEC sp_dropuser 'test' : 从当前数据库删除用户 test EXEC sp_droplogin 'test' : 从 SQL Server 中删除登录 test select ...
- node连接mysql数据库
1. 创建项目,安装mysql 创建项目文件夹test, 在test文件夹下yarn add mysql --save安装mysql: 2. node使用mysql 在test文件夹下,创建test. ...
- git查看切换分支
Git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下: 1. 查看远程分支 $ git branch -a 我在mxnet根目录下运行以上命 ...
- jquery动态修改带有important的样式方法
$('.el-card').css("background", "#fff !important");(不起作用的) 改为: $('.el-card').css ...
- [CSP-S模拟测试]:Race(数学+Trie树)
题目描述 一年一度的运动会开始了.有$N$个选手参赛,第$i$个选手有一个能力值(保证$A[i]$两两不同),比赛一共进行了天.在第$j$天($0\leqslant j\leqslant 2^{m-1 ...
- I2C总线协议详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线产生于在80年代,最初为音 ...
- jq与js获取值操作
jq与js获取值操作 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- 判断是否是NaN
if (isNaN(parseInt(x))) { alert("非数字"); } else{ alert("数字"); }
- 使用Bochs学习硬件原理
什么是Bochs? 简单地说,Bochs是一款仿真软件,可以用软件的方式模拟硬件的工作.同类软件有Qemu,仿真软件与虚拟机(hypervisor)还不完全相同,仿真软件是完全软件模拟硬件,而虚拟机软 ...
- Series序列
import pandas as pd '''Series序列:1.序列 的声明,指定index列标签2.查看列索引(index)和元素 (values)3.选择内部元素4.为元素赋值5.用Numpy ...