Advertisement
Taximaniac

PS Script to automate django project creation.

Feb 9th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Author: Christian Haugland (Taximaniac)
  2. # This script is free and can be used freely.
  3. #
  4. # Start new Django Project in a new venv
  5. <#
  6. .SYNOPSIS
  7. Makes a new folder, then creates a env, update pip, install latest django, start django project,
  8. makes an django app
  9. .DESCRIPTION
  10. Automates theprocess of making a django project in a new env.
  11. .PARAMETER $Path
  12. The Path to where you want the project folder to be created. Ex: D:\DjangoProjects
  13. .PARAMETER $ProjectFolder
  14. The name you want on your project folder. ex: mynewwebsite
  15. .PARAMETER $EnvName
  16. Then name of the Virtual enviroment you want to make. Ex: myvenv
  17. .PARAMETER $DjangoProjectName
  18. The name of your project
  19. .PARAMETER $FirstAppName
  20. The name of the first app you want to start with. Ex: blog
  21. .EXAMPLE
  22. NewDjangoProject -Path d:\django\projects -ProjectFolder MyWebsite -EnvName myvenv -DjangoProjectName mydjangoproject -FirstAppName blog  
  23. .LINK
  24. www.djangoproject.com
  25. #>
  26. Param(
  27.     [Parameter(Mandatory=$true)][string]$Path,
  28.     [Parameter(Mandatory=$true)][string]$ProjectFolder,
  29.     [Parameter(Mandatory=$true)][string]$EnvName,
  30.     [Parameter(Mandatory=$true)][string]$DjangoProjectName,
  31.     [Parameter(Mandatory=$true)][string]$FirstAppName
  32. )
  33.  
  34. echo "CD into path: $Path"
  35. cd $Path
  36. echo "Making projectfolder $ProjectFolder inside $Path"
  37. mkdir $ProjectFolder
  38. echo "CD into $ProjectFolder"
  39. cd $ProjectFolder
  40. echo "Start creating virtual enviroment into projectfolder, this may take some time..."
  41. virtualenv $EnvName
  42. echo "Activating Virtual Enviroment: $EnvName"
  43. .$EnvName\Scripts\activate.ps1
  44. echo "Upgrading PIP, It may take a little moment..."
  45. python -m pip install --upgrade pip
  46. echo "Writing requirements.txt file and adding Django~=2.1.5 to it"
  47. $djangotext = "Django~=2.1.5"
  48. $djangotext | Set-Content 'requirements.txt'
  49. echo "Installing Django from requirements.txt. It may take a moment..."
  50. python -m pip install -r requirements.txt
  51. echo "Making new django project named: $DjangoProjectName"
  52. django-admin startproject $DjangoProjectName .
  53. echo "Creating first app named: $FirstAppName"
  54. python manage.py startapp $FirstAppName
  55. echo "Done!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement