Skip to content

Python package for better development with Django

License

Notifications You must be signed in to change notification settings

dhomini-rabelo/Fast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast Project

Create a viewCommandsTips

About

Python package for better development process with Django using command line. The commands folder is a django app with commands of project, Fast folder have utils functions for fast development with Django

How to start Django project with Fast Project

  1. Start virtual environment and Django project

    python -m venv venv
    
    venv/Scripts/Activate.ps1 # if PowerShell
    
    pip install django
    
    mkdir project
    
    cd project
    
    django-admin startproject MY_PROJECT_NAME .
    

  2. Copy folders and files of project folder from this project and paste in your project folder, download here


  3. Download requirements.txt and update requirements.txt

    pip install -r requirements.txt
    
    pip freeze > requirements.txt
    

  4. Add project name and commands app in settings.py

    # settings.py
    
    PROJECT_NAME = 'MY_PROJECT_NAME'
    
    INSTALLED_APPS = [
        ...,
        'commands.CommandsConfig',
    ]
    

  5. Create project structure

    python manage.py fast-init --del
    


  6. Create custom user

    python manage.py create-accounts-app
    

  7. Edit user model and user admin


  8. Do the migrations

    python manage.py makemigrations
    
    python manage.py migrate
    

Fast Start

  1. Initial Commands

    python -m venv venv
    venv/Scripts/Activate.ps1
    pip install django
    mkdir project
    cd project
    django-admin startproject MY_PROJECT_NAME .
    

  2. Paste project.rar content, too add project name and commands app in settings.py

    # settings.py
    
    PROJECT_NAME = 'MY_PROJECT_NAME'
    
    INSTALLED_APPS = [
        ...,
        'commands.CommandsConfig',
    ]
    

  3. Manage dependencies, create project structure, create accounts app and run migrations

    pip install -r requirements.txt
    pip freeze > requirements.txt
    python manage.py fast-init --del
    python manage.py create-accounts-app
    python manage.py makemigrations
    python manage.py migrate
    

Create a view

  1. Create a app

    python manage.py create-fast-app core
    

  2. Create a view in backend/core/views.py

    from django.shortcuts import render, redirect
    
    
    BP = 'pages' # base path
    
    
    def index(request):
        return render(request, f'{BP}/index.html')
        
    

  3. Create a index.html in frontend/templates/pages

    <link rel="stylesheet" href="/static/styles/pages/index.html">
    <h1>Hello, World !!!!!</h1>
    

  4. Create a index.css in frontend/static/styles/pages

    body {
        background-color: orange;
    }
    

  5. Register route

    # project/PROJECT_NAME/urls.py
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('backend.core.urls'))
    ]
    
    # project/backend/core/urls.py
    
    urlpatterns = [
        path('', index, name='index'),
    ]
    

  6. Run project

    python manage.py runserver
    

  7. View result in http://localhost:8000

    project-result

Commands

  • fast-init [--del, -d] [--compose, -c]

    --del, -d -> For delete default commentaries

    --compose, -c -> For add Dockerfile and docker-compose to project

    Command for create project structure and configure project


  • create-fast-app [app_name] [--use_folders, -f] [--api_app, -a] [--api_and_views_app, -av] [--app_folder, -af] [app_folder_name]

    Command for create fast app in backend folder

    --use_folders, -f -> For use folders in app

    --api_app, -a -> if app will contains only API

    --api_and_views_app, -av -> if app will contains API and views

    --app_folder, -af -> folder for insert app


  • create-accounts-app [--use_folders, -f] [--app_folder, -af] [app_folder_name]

    Command for create fast app with custom user

    --use_folders, -f -> For use folders in app

    --app_folder, -af -> folder for insert app


  • register admin [model_address] [--app_folder, -af] [app_folder_name]

    model_address -> app_name.model_name

    --app_folder, -af -> folder that contains the app

    Command for create base for register admin model


  • minificate-css [path]


  • minificate-html [path]


  • minificate-js [path]


  • compact-html [path]

    Compact includes and block of Django Templates in one html file


Tips

  • Create project name with UPPERCASE, app name with lowercase and others with Casefold

  • Use 2 code softwares on backend and frontend folders, or 3 with source folder.

About

Python package for better development with Django

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published