Django vue generador

¿Cómo hacer amigos un proyecto en rest framework con vue? Puede crear un proyecto vue en el directorio con el proyecto django usando vue-cli. Yendo a él y escribiendo hilado build, al salir nos metemos en el directorio dist archivos index.html y directorios css y js. Sí, css y js se pueden poner en estática y hacer una plantilla desde index.html. Al agregar los subdirectorios static / frontend y templates / frontend y los archivos __init__.py y urls.py al directorio con el front (por ejemplo, lo llamamos frontend), podemos agregar frontend a INSTALLED_APPS. En urls.py, algo como path('', TemplateView.as_view(template_name='frontend/index.html'), name='frontend-index'), suficiente path('', TemplateView.as_view(template_name='frontend/index.html'), name='frontend-index'),

Para que los archivos lleguen a donde debían ensamblarse, arreglamos la compilación en package.json a "vue-cli-service build && (rm -rf static/frontend/ 2>/dev/null || true) && sed 's/=\\//=\\/static\\/frontend\\//g' dist/index.html > templates/frontend/index.html && mv dist static/frontend"
"vue-cli-service build && (rm -rf static/frontend/ 2>/dev/null || true) && sed 's/=\\//=\\/static\\/frontend\\//g' dist/index.html > templates/frontend/index.html && mv dist static/frontend"
Al mismo tiempo, arreglamos los caminos con sed.

Para automatizar todo, hice django_vue_generator . Agrega los comandos de administración start_frontend y build_frontend. ¡Pero eso no es todo! Genera automáticamente formularios con validación en el cliente desde sus serializadores. Y crea componentes con formularios para viewset drf project. Y los componentes de la lista son los mismos para ellos. Con paginación y filtración.




La vista de lista se puede redefinir mediante ranuras.

Se incluye un proyecto de demostración con el archivo run.sh, que debe recopilar todo lo que necesita.

Source: https://habr.com/ru/post/479654/


All Articles