Django starten nieuw(bestaand) project

Django starten van een nieuw (of een bestaand) project

te gebruiken tool voor de creatie van de virtuele omgeving

bij gebruik van de fish shell

    eenmalig :  installeer vf (virtualfish)

        sudo pip install virtualfish

    eenmalig : creeer de functie : fish_prompt.fish 

~/.config/fish/functions/fish_prompt.fish

if set -q VIRTUAL_ENV

echo -n -s (set color -b blue white) "(" (basename "$VIRTUAL_ENV") ")" (set color normal) " "

end

vf opties :

Usage: vf <command> [<args>]

Available commands:

    activate        Activate a virtualenv
    addpath         Adds a path to sys.path in this virtualenv
    addplugins      Install one or more plugins
    all             Run a command in all virtualenvs sequentially
    cd              Change directory to this virtualenv
    cdpackages      Change to the site-packages directory of this virtualenv
    cdproject       Change working directory to project directory
    connect         Connect this virtualenv to the current directory
    deactivate      Deactivate this virtualenv
    environment     Edit the environment variables for the active virtual environment
    globalpackages  Manage global site packages
    help            Print VirtualFish usage information
    install         Install VirtualFish
    ls              List all available virtual environments
    lsprojects      List projects
    new             Create a new virtualenv
    project         Create a new project and virtualenv with the name provided
    rm              Delete one or more virtual environments
    rmplugins       Remove one or more plugins
    tmp             Create a virtualenv that will be removed when deactivated
    uninstall       Uninstall VirtualFish
    upgrade         Upgrade virtualenv(s) to newer Python version
    workon          Work on a project

 

andere tools kunnen ook gebruikt worden zoals : 

    pipenv

    mkvirtualenv

    ....

namen te bepalen

mijn_project_naam foldernaam van het project
django_project_naam  bevat normaal db.sqlite3, settings,  media, static, log en templates mappen
bijkomende_app_naam een project kan verschillende apps hebben

starten

mkdir /data/mijn_project_naam
cd /data/mijn_project_naam
atom ./

    maak gebruik van een django template : hier maak ik gebruik van mijn eigen gemaakte  template django-project-template uit  mijn Downloads map

django-admin startproject --template ~/Downloads/django-project-template django_project_naam  .

    creatie van een nieuwe virtuele omgeving voor je django project 

vf  new  env_django_project_naam  -p  python3.8

    activeer je virtuele omgeving (eenmalig ofwel volledig buitem atom ofwel volledig binnen atom)

vf  activate  env_django_project_naam

 

    installeer reeks python pakketten uit bestand = requirements.txt (eenmalig)

pip install -r requirements.txt


    installeer indien nodig bijkomende pakket xyz

pip install xyz

    bepalen welke pakketten in je virtuele omgeving geinstalleerd zijn :

pip freeze

    al je geinstalleerde pakketten onthouden

pip freeze >requirements.txt

./manage.py  migrate
./manage.py  createsuperuser
./manage.py  runserver  /  runserver_plus

    voor iedere bijkomende app

./manage-py  startapp  bijkomende_app_naam


    als app komt van een bestaande django site (na download zip naar /data/tmp/ en unzip)

    maak gebruik van  bash procedures :  ../tmp/project_accounts , ../tmp/project_app , ../tmp/project_media , ../tmp/project_static , ../tmp/project_templates

.. / tmp / project_app  mijn_project_naam   app_naam   .
.. / tmp / project_app  
mijn_project_naam base   .

    settings/base.py

INSTALLED_APPS = [

'app_naam' ,

]

    starten website 

./manage-py  makemigrations

        (pas .... initial.py aan als volgorde veldnamen in de modellen gewijzigd is ; dit om problemen bij oplading gegevens te vermijden)

./manage-py  migrate
./manage-py  runserver


        sitemaps ?
        als bestaande media , static en templates moet overgenomen worden

../tmp/ project_media site_project_naam mijn_project_naam .
../tmp/ project_static site_project_naam mijn_project_naam .
../tmp/ project_templates site_project_naam mijn_project_naam .

./manage-py runserver_plus

 

./manage-py show_urls
./manage-py shell_plus -ipython
./manage-py shell_plus -bpython
./manage-py graph_models auth -o auth.png
./manage-py graph_models app -o app.png
./manage-py graph_models -a -o all.png
./manage-py findstatic --verbosity 2 land/bootstrap/css/bootstrap.min.css
./manage-py find_template registration/password_reset_form.html
./manage-py collectstatic
./manage-py ping_google sitemap.xml

    app_naam/management/commands   map

        exporteer 

./manage.py  run_export

        initializeer

./manage.py  init_items 

        importeer

./manage.py  run_import

        init_items.py  kan ook  sql statements uitvoeren

 

   deactiveer  virtuele omgeving

vf   deactivate

   ping_google

./manage.py  ping_google  sitemap.xml

    

  google search console

  google analytics