La branche de base est ajoutée. Intégré dans les utils.
Les changements fonctionnels ultérieurs seront principalement basés sur la branche de base.
Sur la base de la plate-forme de développement de base des petites et moyennes applications contrôlées par les autorisations du modèle RBAC, le front et le back-end sont séparés. Terminal utilise UniApp + UView (H5 et Applet disponibles).
Authentification JWT, vous pouvez utiliser Simple_History pour atteindre la fonction d'audit, soutenir Swagger
Les modules construits -in incluent Organizational Users Caractaires Post Data Dictionary File Library Timing Task Workflow (la plupart du code a été téléchargé, le code arrière-end est situé dans les applications / wf)
Utilisez le workflow pour recommander la base de données pour utiliser PostgreSQL.
Autorisations de fonction de support (contrôle à chaque interface) et autorisations de données simples (tout, ce niveau et ci-dessous, le même niveau, ci-dessous, i, etc.)
Bienvenue pour mentionner les problèmes
RunServer, Account Admin, Admin de mot de passe directement utilisé par l'adresse d'aperçu. Veuillez fonctionner attentivement, ne modifiez pas le mot de passe http://49.232.29.236:2222/
Positionner dans le dossier du serveur
Établir un environnement virtuel python -m venv venv
Activer l'environnement virtuel .venvscriptsactivate
Installer le package dépendant pip install -r requirements.txt
C Copie
Base de données synchrone python manage.py migrate
Il peut être importé par les données initiales python manage.py loaddata db.json
ou utiliser directement la base de données SQLite (le mot de passe du compte Super Pipeline est administrateur, et la base de données sera réinitialisée toutes les deux fois)
Créer un super administrateur python manage.py createsuperuser
Exécuter le service python manage.py runserver 8000
Position dans le dossier client
Installer Node.js
Installez le package dépendant npm install --registry=https://registry.npmmirror.com
Service de course npm run dev
Modifiez nginx.conf lors de l'exécution localement pour afficher les fichiers de ressources
listen 8012
location /media {
proxy_pass http://localhost:8000;
}
location / {
proxy_pass http://localhost:9528;
}
Exécuter nginx.exe
Ouvrir localhost: 8012 pour accéder
Document d'interface localhost: 8000 / API / Swagger /
LocalHost: 8000 / django / admin //
Faites attention pour modifier le conf.py lors du déploiement
Peut être déployé séparément à l'avant et à l'arrière, proxy Nginx. Vous pouvez également remplacer la distribution avant du serveur / distal, puis exécuter la collection
Commencez par Gunicorn: Entrez dans l'environnement virtuel pour exécuter le Gunicorn -W 5 -B 0.0.0.0:2251 Server.wsgi
Si WebScoket est nécessaire, vous devez configurer le démarrage de Daphne, vous pouvez utiliser le superviseur pour surveiller
La configuration de Nginx peut être appelée comme suit:
server {
listen 2250;
client_max_body_size 1024m;
location /media/ {
alias /home/lighthouse/xx/media/;
limit_rate 800k;
}
location / {
alias /home/lighthouse/xx/dist/;
index index.html;
}
location ~ ^/(api|django)/ {
set $CSRFTOKEN "";
if ($http_cookie ~* "CSRFTOKEN=(.+?)(?=;|$)") {
set $CSRFTOKEN "$1";
}
proxy_set_header X-CSRFToken $CSRFTOKEN;
proxy_pass http://localhost:2251;
proxy_pass_header Authorization;
proxy_pass_header WWW-Authenticate;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /ws/ {
proxy_pass http://localhost:2252;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Le front ./client
et le back-end ./server
sont Dockerfile.
Voici le dicton principal que Docker-Compose démarre cette méthode.
Modifiez le fichier docker-compose.yml en fonction de l'annotation. Il y a deux services principaux, l'un est l'arrière backend
, et l'autre est l'avant frontend
.
La valeur par défaut est la fin et l'extrémité avant du mode de développement. Si vous devez déployer une seule machine et que vous souhaitez utiliser Docker-Compose, il fera mieux de modifier le mode de production.
démarrer
cd <path-to-your-project>
docker-compose up -d
Une fois le début, le port d'accès est le même que le port de l'interface 8000 et le port frontal 8012.
Si vous souhaitez exécuter la commande?
Soulever un châtaignier:
Si je souhaite exécuter la commande back -end Generating Data Change. python manage.py makemigrations
Utilisez l'énoncé suivant
docker-compose exec backend python manage.py makemigrations
Tout d'abord, vous devez utiliser Django-Rest-Framework pour comprendre la solution frontale Vue-Element-Admin
Ce projet utilise le routage frontal-end, et le back-end est renvoyé à l'extrémité frontale en fonction du rôle de l'utilisateur Lire le code des autorisations de l'utilisateur, chargé à partir de l'extrémité avant (le code de base est l'attribut PERMS dans la table de routage et le compter méthode)
Le code central des autorisations de fonction arrière -nd est rétracté par la méthode HAS_PERMISSION sous le serveur / apps / système / permission.py, et définissez le code des autorisations PERMS dans APIVIEW et ViewSet.
Étant donné que les autorisations de données sont liées à l'entreprise spécifique, plusieurs règles sont simplement définies et la méthode Has_Object_Permission est réécrite;
Parce que la situation réelle est compliquée, il est recommandé d'écrire la permission_class du DRF selon différentes situations.
Utilisez le package Clery et django_cellery_beat pour réaliser
Besoin d'installer Redis et de démarrer sur le port par défaut, et de démarrer le travailleur et de battre
Entrez dans l'environnement virtuel et démarrez le travailleur: celery -A server worker -l info -P eventlet
, le système Linux n'a pas besoin d'ajouter -p eventlelet
Entrez l'environnement virtuel et démarrez le beat: celery -A server beat -l info
Reportez-vous à l'implémentation de LoonFlow dans le module Workflow.
Si vous êtes prêt à communiquer, vous pouvez ajouter le groupe QQ 235665873 pour ajouter le groupe WeChat