I documenti di app riutilizzabili (https://docs.djangoproject.com/en/1.9/intro/reusable-apps/) indicano di elencare modelli e file statici in MANIFEST.in
, ma non sembra che python setup.py bdist_wheel
analizzi il file.Come posso creare una ruota da un'app django?
Ho visto i riferimenti a data_files
ma tali file andare nelle directory relativa all'installazione python (sys.prefix
) e non l'installazione del pacchetto (e sys.prefix
non è uniformemente legato alla site-packages
attraverso i sistemi).
Ho ragione nel ritenere che myapp/templates/myapp/foo.html
dovrebbe finire in .../site-packages/myapp/templates/myapp/foo.html
e allo stesso modo per i file statici, e che l'utente ha la necessità di eseguire un manage.py collectstatic
dopo pip install myapp
?
Update (esempio):
La seguente struttura:
(build2) go|c:\srv\tmp\myapp> tree
.
|-- MANIFEST.in
|-- myapp
| |-- static
| | `-- myapp
| | `-- foo.css
| |-- templates
| | `-- myapp
| | `-- foo.html
| |-- urls.py
| `-- views.py
`-- setup.py
5 directories, 6 files
setup.py
import setuptools
from distutils.core import setup
setup(
name='myapp',
version='0.1.0',
packages=['myapp']
)
MANIFEST.in
recursive-include myapp/templates *
recursive-include myapp/static *
esecuzione python setup.py sdist
e python setup.py bdist_wheel
crea i seguenti file bin frontend/dist:
2016-06-18 13:47 2,073 myapp-0.1.0-py2-none-any.whl
2016-06-18 13:46 2,493 myapp-0.1.0.zip
se si guarda dentro il file .zip, troverete i modelli e le cartelle statiche, se si rinomina il file .zip e .whl a guardare al suo interno , le directory non sono incluse.
Aggiornamento 2 (soluzione):
Modifica del file MANIFEST.in a
recursive-include myapp *
e setup.py per
from setuptools import find_packages, setup
setup(
name='myapp',
version='0.1.0',
include_package_data=True,
packages=['myapp'],
zip_safe=False,
)
poi correre python setup.py bdist_wheel
creerà un file .whl
che installa myapp/templates
e myapp/static
nei luoghi previsti.
puoi mostrare un MCSE del tuo problema? Che cosa hai provato in 'MANIFEST.in' e' setup.py'? – zmo
@zmo certamente. – thebjorn
@thebjorn, un peccato per la taglia, ma probabilmente dovresti rispondere alla tua stessa domanda! – Doddie