From: Thomas Fillon Date: Wed, 19 Aug 2015 10:40:59 +0000 (+0200) Subject: Initial commit X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=aefd236c3d85e20aa69d0ccdb5fe07896d70ae2b;p=diggersdigest.git Initial commit Add 'records' Django app with basic models generated by Django "python manage.py inspectdb" Add 'diggersdigest' Django project --- aefd236c3d85e20aa69d0ccdb5fe07896d70ae2b diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..563411e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +mysql/* +static/* \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6443386 --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +*.py[co] +*~ + +# Packages +*.egg +*.egg-info +#dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg +*.directory + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +#*.mo + +#Volume Directory for docker-compose +mysql/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e05c7ca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM python:2.7 + +ENV PYTHONUNBUFFERED 1 +RUN apt-get update &&\ + apt-get -y install locales && \ + echo fr_FR.UTF-8 UTF-8 >> /etc/locale.gen &&\ + locale-gen +ENV LANG fr_FR.UTF-8 +ENV LANGUAGE fr_FR:fr +ENV LC_ALL fr_FR.UTF-8 + +RUN mkdir /code +WORKDIR /code +ADD requirements.txt /code/ +RUN pip install -r requirements.txt +ADD . /code/ + diff --git a/diggersdigest/diggersdigest/__init__.py b/diggersdigest/diggersdigest/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/diggersdigest/diggersdigest/settings.py b/diggersdigest/diggersdigest/settings.py new file mode 100644 index 0000000..abb96cd --- /dev/null +++ b/diggersdigest/diggersdigest/settings.py @@ -0,0 +1,107 @@ +""" +Django settings for diggersdigest project. + +Generated by 'django-admin startproject' using Django 1.8.3. + +For more information on this file, see +https://docs.djangoproject.com/en/1.8/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.8/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'k#y*6^1y18xlm)y#i&v6!s26i1hgttz64&!--7ft3q-c!22y(%' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'records', +) + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.security.SecurityMiddleware', +) + +ROOT_URLCONF = 'diggersdigest.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'diggersdigest.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.8/ref/settings/#databases + + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'diggersdigest', + 'USER': 'digger', + 'PASSWORD': 'admin', + 'HOST': 'db', + 'PORT': 3306, + } +} + +# Internationalization +# https://docs.djangoproject.com/en/1.8/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.8/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/diggersdigest/diggersdigest/urls.py b/diggersdigest/diggersdigest/urls.py new file mode 100644 index 0000000..17ca863 --- /dev/null +++ b/diggersdigest/diggersdigest/urls.py @@ -0,0 +1,21 @@ +"""diggersdigest URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/1.8/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') +Including another URLconf + 1. Add an import: from blog import urls as blog_urls + 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) +""" +from django.conf.urls import include, url +from django.contrib import admin + +urlpatterns = [ + url(r'^admin/', include(admin.site.urls)), +] diff --git a/diggersdigest/diggersdigest/wsgi.py b/diggersdigest/diggersdigest/wsgi.py new file mode 100644 index 0000000..1aed28a --- /dev/null +++ b/diggersdigest/diggersdigest/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for diggersdigest project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "diggersdigest.settings") + +application = get_wsgi_application() diff --git a/diggersdigest/manage.py b/diggersdigest/manage.py new file mode 100755 index 0000000..24fd72b --- /dev/null +++ b/diggersdigest/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "diggersdigest.settings") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/diggersdigest/records/__init__.py b/diggersdigest/records/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/diggersdigest/records/admin.py b/diggersdigest/records/admin.py new file mode 100644 index 0000000..f9ed8a2 --- /dev/null +++ b/diggersdigest/records/admin.py @@ -0,0 +1,30 @@ +from django.contrib import admin + +# Register your models here. +from .models import Gallery +from .models import Grading +from .models import Link +from .models import Mix +from .models import News +from .models import Shop +from .models import Theme +from .models import User +## from .models import Artist +## from .models import Label +## from .models import Country +## from .models import Record + + + +admin.site.register(Gallery) +admin.site.register(Grading) +admin.site.register(Link) +admin.site.register(Mix) +admin.site.register(News) +admin.site.register(Shop) +admin.site.register(Theme) +admin.site.register(User) +## admin.site.register(Artist) +## admin.site.register(Label) +## admin.site.register(Country) +## admin.site.register(Record) diff --git a/diggersdigest/records/migrations/0001_initial.py b/diggersdigest/records/migrations/0001_initial.py new file mode 100644 index 0000000..108129c --- /dev/null +++ b/diggersdigest/records/migrations/0001_initial.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Gallery', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('titre', models.CharField(max_length=124)), + ('visu1', models.IntegerField()), + ('visu2', models.IntegerField()), + ('visu3', models.IntegerField()), + ('visu4', models.IntegerField()), + ('visu5', models.IntegerField()), + ('visu6', models.IntegerField()), + ('visu7', models.IntegerField()), + ('visu8', models.IntegerField()), + ('visu9', models.IntegerField()), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'gallery', + 'managed': False, + }, + ), + migrations.CreateModel( + name='Grading', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('nom', models.CharField(max_length=5)), + ], + options={ + 'db_table': 'grading', + 'managed': False, + }, + ), + migrations.CreateModel( + name='Link', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('section', models.IntegerField()), + ('adress', models.CharField(max_length=124)), + ('desc', models.TextField()), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'links', + 'managed': False, + }, + ), + migrations.CreateModel( + name='Mix', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('genre', models.CharField(max_length=128)), + ('titre', models.CharField(max_length=128)), + ('date', models.CharField(max_length=64)), + ('desc', models.TextField()), + ('mp3', models.CharField(max_length=128)), + ('visu1', models.IntegerField()), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'mix', + 'managed': False, + }, + ), + migrations.CreateModel( + name='News', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('titre', models.CharField(max_length=128)), + ('texte', models.TextField()), + ('visu1', models.IntegerField()), + ('position', models.IntegerField()), + ('nomlien', models.CharField(max_length=128)), + ('adresslien', models.CharField(max_length=255)), + ('typelien', models.IntegerField()), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'news', + 'managed': False, + }, + ), + migrations.CreateModel( + name='Shop', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('theme', models.IntegerField()), + ('artiste', models.CharField(max_length=128)), + ('new', models.IntegerField()), + ('titre', models.CharField(max_length=128)), + ('label', models.CharField(max_length=128)), + ('date', models.CharField(max_length=8)), + ('pays', models.CharField(max_length=128)), + ('desc', models.TextField()), + ('cover', models.IntegerField()), + ('vinyl', models.IntegerField()), + ('prix', models.IntegerField()), + ('devise', models.IntegerField()), + ('mp3', models.CharField(max_length=128)), + ('visu1', models.IntegerField()), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'shop', + 'managed': False, + }, + ), + migrations.CreateModel( + name='Theme', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('nom', models.CharField(max_length=124)), + ('ordre', models.IntegerField()), + ('published', models.IntegerField()), + ], + options={ + 'db_table': 'theme', + 'managed': False, + }, + ), + migrations.CreateModel( + name='User', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('username', models.CharField(max_length=10)), + ('password', models.CharField(max_length=10)), + ('type', models.IntegerField()), + ], + options={ + 'db_table': 'user', + 'managed': False, + }, + ), + ] diff --git a/diggersdigest/records/migrations/__init__.py b/diggersdigest/records/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/diggersdigest/records/models.py b/diggersdigest/records/models.py new file mode 100644 index 0000000..55cdea0 --- /dev/null +++ b/diggersdigest/records/models.py @@ -0,0 +1,116 @@ +from __future__ import unicode_literals + +from django.db import models + + +class Gallery(models.Model): + titre = models.CharField(max_length=124) + visu1 = models.IntegerField() + visu2 = models.IntegerField() + visu3 = models.IntegerField() + visu4 = models.IntegerField() + visu5 = models.IntegerField() + visu6 = models.IntegerField() + visu7 = models.IntegerField() + visu8 = models.IntegerField() + visu9 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'gallery' + + +class Grading(models.Model): + nom = models.CharField(max_length=5) + + class Meta: + managed = False + db_table = 'grading' + + +class Link(models.Model): + section = models.IntegerField() + adress = models.CharField(max_length=124) + desc = models.TextField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'links' + + +class Mix(models.Model): + genre = models.CharField(max_length=128) + titre = models.CharField(max_length=128) + date = models.CharField(max_length=64) + desc = models.TextField() + mp3 = models.CharField(max_length=128) + visu1 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'mix' + + +class News(models.Model): + titre = models.CharField(max_length=128) + texte = models.TextField() + visu1 = models.IntegerField() + position = models.IntegerField() + nomlien = models.CharField(max_length=128) + adresslien = models.CharField(max_length=255) + typelien = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'news' + + +class Shop(models.Model): + theme = models.IntegerField() + artiste = models.CharField(max_length=128) + new = models.IntegerField() + titre = models.CharField(max_length=128) + label = models.CharField(max_length=128) + date = models.CharField(max_length=8) + pays = models.CharField(max_length=128) + desc = models.TextField() + cover = models.IntegerField() + vinyl = models.IntegerField() + prix = models.IntegerField() + devise = models.IntegerField() + mp3 = models.CharField(max_length=128) + visu1 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'shop' + + +class Theme(models.Model): + nom = models.CharField(max_length=124) + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'theme' + + +class User(models.Model): + username = models.CharField(max_length=10) + password = models.CharField(max_length=10) + type = models.IntegerField() + + class Meta: + managed = False + db_table = 'user' diff --git a/diggersdigest/records/models_db.py b/diggersdigest/records/models_db.py new file mode 100644 index 0000000..84129b2 --- /dev/null +++ b/diggersdigest/records/models_db.py @@ -0,0 +1,125 @@ +# This is an auto-generated Django model module. +# You'll have to do the following manually to clean this up: +# * Rearrange models' order +# * Make sure each model has one field with primary_key=True +# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table +# Feel free to rename the models, but don't rename db_table values or field names. +# +# Also note: You'll have to insert the output of 'django-admin sqlcustom [app_label]' +# into your database. +from __future__ import unicode_literals + +from django.db import models + + +class Gallery(models.Model): + titre = models.CharField(max_length=124) + visu1 = models.IntegerField() + visu2 = models.IntegerField() + visu3 = models.IntegerField() + visu4 = models.IntegerField() + visu5 = models.IntegerField() + visu6 = models.IntegerField() + visu7 = models.IntegerField() + visu8 = models.IntegerField() + visu9 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'gallery' + + +class Grading(models.Model): + nom = models.CharField(max_length=5) + + class Meta: + managed = False + db_table = 'grading' + + +class Links(models.Model): + section = models.IntegerField() + adress = models.CharField(max_length=124) + desc = models.TextField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'links' + + +class Mix(models.Model): + genre = models.CharField(max_length=128) + titre = models.CharField(max_length=128) + date = models.CharField(max_length=64) + desc = models.TextField() + mp3 = models.CharField(max_length=128) + visu1 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'mix' + + +class News(models.Model): + titre = models.CharField(max_length=128) + texte = models.TextField() + visu1 = models.IntegerField() + position = models.IntegerField() + nomlien = models.CharField(max_length=128) + adresslien = models.CharField(max_length=255) + typelien = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'news' + + +class Shop(models.Model): + theme = models.IntegerField() + artiste = models.CharField(max_length=128) + new = models.IntegerField() + titre = models.CharField(max_length=128) + label = models.CharField(max_length=128) + date = models.CharField(max_length=8) + pays = models.CharField(max_length=128) + desc = models.TextField() + cover = models.IntegerField() + vinyl = models.IntegerField() + prix = models.IntegerField() + devise = models.IntegerField() + mp3 = models.CharField(max_length=128) + visu1 = models.IntegerField() + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'shop' + + +class Theme(models.Model): + nom = models.CharField(max_length=124) + ordre = models.IntegerField() + published = models.IntegerField() + + class Meta: + managed = False + db_table = 'theme' + + +class User(models.Model): + username = models.CharField(max_length=10) + password = models.CharField(max_length=10) + type = models.IntegerField() + + class Meta: + managed = False + db_table = 'user' diff --git a/diggersdigest/records/tests.py b/diggersdigest/records/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/diggersdigest/records/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/diggersdigest/records/views.py b/diggersdigest/records/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/diggersdigest/records/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3759fc0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +dbdata: + image: mysql + volumes: + - ./mysql:/var/lib/mysql + entrypoint: /bin/echo + command: data only container for db + +db: + image: mysql + environment: + - MYSQL_ROOT_PASSWORD=mysecretpassword + - MYSQL_DATABASE=diggersdigest + - MYSQL_USER=digger + - MYSQL_PASSWORD=admin + volumes_from: + - dbdata + +web: + build: . + command: python diggersdigest/manage.py runserver 0.0.0.0:8000 + volumes: + - .:/code + ports: + - "8000:8000" + links: + - db \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1b81a5b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +Django==1.8.3 +MySQL-python==1.2.5 +cartridge==0.10.0