Запуск локального сервера Django

Заметка на коленке, для быстрого деплоя проекта на локальной машине/сервере.

  • Установка
  • Создание БД
  • Старт проекта

Установка

/home/yury:~$
sudo apt install python3-pip -y
sudo pip3 install virtualenv 

Запускаем виртуальное окружение

/home/yury:~$
mkdir sfera_project
virtualenv venv
source venv/bin/activate

Устанавливаем нужные зависимости в окружение

(venv) /home/yury:~$
pip3 install Django==1.9
pip3 install django-bootstrap3
pip3 install django-forms-bootstrap
pip3 install Pillow
pip3 install PyMySQL

или

(venv) /home/yury:~$
pip3 install -r req-1.txt 

 

Создание БД

(venv) /home/yury:~$
sudo mysql -u root -p 
mysql> create database sfera charset=utf8;

 

Старт проекта

(venv) /home/yury:~$
django-admin startproject sfera

cd sfera/
python3 manage.py startapp inventory
python3 manage.py startapp map
sfera/settings.py
INSTALLED_APPS = [
	...
	'bootstrap3',
	'django_forms_bootstrap',
	'inventory',
	'map',
]

# ...

try:
	import pymysql
	pymysql.install_as_MySQLdb()
except ImportError:
	pass
  
DATABASES = {
	'default': {
	'ENGINE': 'django.db.backends.mysql', 
	'NAME': 'sfera',
	'USER': 'root',
	'PASSWORD': 'eve-ng',
	}
}

LANGUAGE_CODE = 'ru-RU'
# TIME_ZONE = 'UTC'

STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'

MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'

Подключаем url

(venv) /home/yury:~$ /sfera/sfera/urls.py
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
	url(r'^map/', include('map.urls')),
	url(r'^admin/', admin.site.urls),
	url(r'^', include('inventory.urls')),
]

Копируем с заменой файлы приложения в

Подготавливаем и делаем миграции

(venv) /home/yury/sfera:~$
python3 manage.py makemigrations
python3 manage.py migrate

Создаем суперпользователя

(venv) /home/yury/sfera:~$
python3 manage.py createsuperuser

Подтягиваем статики

(venv) /home/yury/sfera:~$
python3 manage.py collectstatic

 

Проект доступен для локальной разработки: {{ ip_address }}:8000

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *