fix for update, update django 1.8 => 1.8.18

feature/docker
Dmitriy Shesterkin 9 years ago
parent 68d26aed66
commit b35d0d670d
  1. 2
      Dockerfile
  2. 6
      Makefile
  3. 10
      bin/loaddata.sh
  4. 8
      conf/compose/Dockerfile.web.production
  5. 19
      docker-compose.local.yml
  6. 21
      docker-compose.yml
  7. 4
      requirements/base.txt
  8. 4
      src/customer/views/documents.py
  9. 1
      src/docs/autocomplete_light_registry.py
  10. 6
      src/docs/views/ajax.py
  11. 54
      src/dokumentor/settings/base.py
  12. 2
      src/dokumentor/settings/local.py

@ -3,6 +3,6 @@ ENV PYTHONUNBUFFERED 1
RUN mkdir -p /code/public/ RUN mkdir -p /code/public/
WORKDIR /code WORKDIR /code
COPY requirements /code/requirements COPY requirements /code/requirements
RUN apt-get update && apt-get -y install ghostscript && apt-get clean RUN apt-get update && apt-get -y install ghostscript && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip && pip install -r requirements/local.txt RUN pip install --upgrade pip && pip install -r requirements/local.txt
ADD . /code/ ADD . /code/

@ -1,4 +1,4 @@
.PHONY: all help build build-stage virtualenv requirements-local loaddata run migrate shell collectstatic clean worker .PHONY: all help build virtualenv requirements-local loaddata run migrate shell collectstatic clean worker
# target: all - Default target. Does nothing. # target: all - Default target. Does nothing.
all: all:
@ -15,10 +15,6 @@ help:
build: build:
docker-compose build docker-compose build
# target: build-stage - Build all docker containers, defined in docker-compose.stage.yml
build-stage:
docker-compose -f docker-compose.stage.yml build
# target: virtualenv - Make virtualenv # target: virtualenv - Make virtualenv
virtualenv: virtualenv:
virtualenv -p python3 env --no-site-packages virtualenv -p python3 env --no-site-packages

@ -1,10 +0,0 @@
#!/usr/bin/env bash
python src/manage.py loaddata src/myauth/fixtures/myauth.json
python src/manage.py loaddata src/commons/fixtures/cms.json
python src/manage.py loaddata src/commons/fixtures/djangocms_text_ckeditor.json
python src/manage.py loaddata src/commons/fixtures/sites.json
python src/manage.py loaddata src/customer/fixtures/price.json
python src/manage.py loaddata src/docs/fixtures/country.json
python src/manage.py loaddata src/docs/fixtures/currency.json
python src/manage.py loaddata src/docs/fixtures/measure.json

@ -1,8 +0,0 @@
FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN mkdir -p /code/public/
WORKDIR /code
COPY requirements /code/requirements
RUN apt-get update && apt-get -y install ghostscript && apt-get clean
RUN pip install --upgrade pip && pip install -r requirements/production.txt
ADD . /code/

@ -16,15 +16,16 @@ services:
environment: environment:
RABBITMQ_DEFAULT_USER: 'dokumentor' RABBITMQ_DEFAULT_USER: 'dokumentor'
RABBITMQ_DEFAULT_PASS: 'dokumentor' RABBITMQ_DEFAULT_PASS: 'dokumentor'
expose: ports:
- "5672" - "8080:15672"
- "5671" - "5672:5672"
- "5671:5671"
celery: celery:
restart: always restart: always
build: build:
context: . context: .
dockerfile: conf/compose/Dockerfile.web.local dockerfile: Dockerfile
command: bash -c 'cd src && celery -A dokumentor worker -l info -E' command: bash -c 'cd src && celery -A dokumentor worker -l info -E'
volumes: volumes:
- .:/code - .:/code
@ -42,20 +43,20 @@ services:
redis: redis:
restart: always restart: always
image: redis:latest image: redis:latest
expose: ports:
- '6379' - '6379:6379'
web: web:
restart: always restart: always
build: build:
context: . context: .
dockerfile: conf/compose/Dockerfile.web.local dockerfile: Dockerfile
command: bash -c 'python src/manage.py runserver 0.0.0.0:8000' command: bash -c 'python src/manage.py runserver 0.0.0.0:8000'
volumes: volumes:
- .:/code - .:/code
entrypoint: conf/docker/entrypoint_production.sh entrypoint: conf/docker/entrypoint.sh
ports: ports:
- "18001:8000" - "8000:8000"
env_file: conf/env env_file: conf/env
environment: environment:
DJANGO_DB: 'postgres://dokumentor:dokumentor@db:5432/dokumentor' DJANGO_DB: 'postgres://dokumentor:dokumentor@db:5432/dokumentor'

@ -16,16 +16,12 @@ services:
environment: environment:
RABBITMQ_DEFAULT_USER: 'dokumentor' RABBITMQ_DEFAULT_USER: 'dokumentor'
RABBITMQ_DEFAULT_PASS: 'dokumentor' RABBITMQ_DEFAULT_PASS: 'dokumentor'
ports: expose:
- "8080:15672" - "5672"
- "5672:5672" - "5671"
- "5671:5671"
celery: celery:
restart: always restart: always
build:
context: .
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'cd src && celery -A dokumentor worker -l info -E' command: bash -c 'cd src && celery -A dokumentor worker -l info -E'
volumes: volumes:
- .:/code - .:/code
@ -43,20 +39,17 @@ services:
redis: redis:
restart: always restart: always
image: redis:latest image: redis:latest
ports: expose:
- '6379:6379' - '6379'
web: web:
restart: always restart: always
build:
context: .
dockerfile: conf/compose/Dockerfile.web.local
command: bash -c 'python src/manage.py runserver 0.0.0.0:8000' command: bash -c 'python src/manage.py runserver 0.0.0.0:8000'
volumes: volumes:
- .:/code - .:/code
entrypoint: conf/docker/entrypoint.sh entrypoint: conf/docker/entrypoint_production.sh
ports: ports:
- "8000:8000" - "18001:8000"
env_file: conf/env env_file: conf/env
environment: environment:
DJANGO_DB: 'postgres://dokumentor:dokumentor@db:5432/dokumentor' DJANGO_DB: 'postgres://dokumentor:dokumentor@db:5432/dokumentor'

@ -1,4 +1,4 @@
Django==1.8 Django==1.8.18
amqp==2.1.4 amqp==2.1.4
anyjson==0.3.3 anyjson==0.3.3
appdirs==1.4.3 appdirs==1.4.3
@ -15,7 +15,7 @@ django-cms==3.4.3
django-filer==1.2.7 django-filer==1.2.7
django-filter==0.11.0 django-filter==0.11.0
django-formtools==1.0 django-formtools==1.0
django-mptt==0.7.0 django-mptt==0.8.7
django-polymorphic==1.0.2 django-polymorphic==1.0.2
django-sekizai==0.10.0 django-sekizai==0.10.0
django-simple-captcha==0.4.2 django-simple-captcha==0.4.2

@ -3,7 +3,7 @@ import os
import re import re
from django.conf import settings from django.conf import settings
from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden, HttpResponse from django.http import Http404, HttpResponseForbidden, HttpResponse
from xlwt import easyxf from xlwt import easyxf
from xlrd import open_workbook from xlrd import open_workbook
@ -14,7 +14,7 @@ from customer.models import License
from customer.utils import raise_if_no_profile from customer.utils import raise_if_no_profile
XLS_ROOT = os.path.join(settings.TEMPLATE_DIRS[0], 'xls') XLS_ROOT = os.path.join(settings.TEMPLATES[0]['DIRS'][0], 'xls')
def get_doc(request, order_num=None): def get_doc(request, order_num=None):

@ -1,4 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# import autocomplete_light
import autocomplete_light import autocomplete_light
from django.db.models import Q from django.db.models import Q

@ -3,9 +3,7 @@ import simplejson as json
from django.http import HttpResponseBadRequest, HttpResponse from django.http import HttpResponseBadRequest, HttpResponse
from django.core import serializers from django.core import serializers
from django.apps import apps
# use django.apps.apps.get_model since Django 1.9
from django.db.models.loading import get_model
from docs.models import Invoice from docs.models import Invoice
from customer.utils import raise_if_no_profile from customer.utils import raise_if_no_profile
@ -57,7 +55,7 @@ def toggle_doc_status(request, doc_type, doc_id, doc_attr):
raise_if_no_profile(request) raise_if_no_profile(request)
model_ = get_model('docs', doc_type) model_ = apps.get_model('docs', doc_type)
doc = model_.objects.get(company=request.user.profile, pk=doc_id) doc = model_.objects.get(company=request.user.profile, pk=doc_id)
choices_ = doc._meta.get_field_by_name(doc_attr)[0].get_choices() choices_ = doc._meta.get_field_by_name(doc_attr)[0].get_choices()

@ -72,12 +72,6 @@ STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'static'), os.path.join(PROJECT_DIR, 'static'),
) )
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = [ MIDDLEWARE_CLASSES = [
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware', 'django.middleware.locale.LocaleMiddleware',
@ -94,14 +88,44 @@ MIDDLEWARE_CLASSES = [
'src.customer.middleware.ProfileMiddleware', 'src.customer.middleware.ProfileMiddleware',
] ]
# TEMPLATES = [
# {
# 'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [
# os.path.join(PROJECT_DIR, 'templates'),
#
# ],
# 'APP_DIRS': True,
# 'OPTIONS': {
# 'context_processors': [
# 'django.contrib.auth.context_processors.auth',
# 'django.template.context_processors.debug',
# 'django.template.context_processors.i18n',
# 'django.template.context_processors.media',
# 'django.template.context_processors.static',
# 'django.template.context_processors.tz',
# 'django.contrib.messages.context_processors.messages',
# 'django.template.context_processors.request',
# 'django.template.context_processors.csrf',
# 'sekizai.context_processors.sekizai',
# 'cms.context_processors.cms_settings',
# 'callback.context_processors.add_forms'
# ],
# },
# 'loaders': [
# 'django.template.loaders.filesystem.Loader',
# 'django.template.loaders.app_directories.Loader',
# ]
# },
# ]
TEMPLATES = [ TEMPLATES = [
{ {
'BACKEND': 'django.template.backends.django.DjangoTemplates', 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ 'DIRS': [
os.path.join(PROJECT_DIR, 'templates'), os.path.join(PROJECT_DIR, 'templates'),
], ],
'APP_DIRS': True,
'OPTIONS': { 'OPTIONS': {
'context_processors': [ 'context_processors': [
'django.contrib.auth.context_processors.auth', 'django.contrib.auth.context_processors.auth',
@ -117,14 +141,14 @@ TEMPLATES = [
'cms.context_processors.cms_settings', 'cms.context_processors.cms_settings',
'callback.context_processors.add_forms' 'callback.context_processors.add_forms'
], ],
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
]
}, },
}, },
] ]
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, 'templates'),
)
ROOT_URLCONF = 'dokumentor.urls' ROOT_URLCONF = 'dokumentor.urls'
# Python dotted path to the WSGI application used by Django's runserver. # Python dotted path to the WSGI application used by Django's runserver.
@ -151,6 +175,12 @@ INSTALLED_APPS = [
'mptt', # utilities for implementing a modified pre-order traversal tree 'mptt', # utilities for implementing a modified pre-order traversal tree
'menus', # helper for model independent hierarchical website navigation 'menus', # helper for model independent hierarchical website navigation
'sekizai', # for javascript and css management 'sekizai', # for javascript and css management
'cmsplugin_filer_file',
'cmsplugin_filer_folder',
'cmsplugin_filer_link',
'cmsplugin_filer_image',
'cmsplugin_filer_teaser',
'cmsplugin_filer_video',
'captcha', 'captcha',
'yandex_money', 'yandex_money',
'filer', 'filer',

@ -27,3 +27,5 @@ EMAIL_BACKEND = 'eml_email_backend.EmailBackend'
EMAIL_FILE_PATH = os.path.join(ROOT_DIR, 'tmp_emails') EMAIL_FILE_PATH = os.path.join(ROOT_DIR, 'tmp_emails')
# import django
# django.setup()

Loading…
Cancel
Save