diff --git a/.gitignore b/.gitignore
index a65d0466..de2c59b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,3 +56,9 @@ docs/_build/
# PyBuilder
target/
+
+\.idea/dataSources/
+
+\.idea/dataSources\.xml
+
+\.idea/dataSources\.local\.xml
diff --git a/.idea/Recipies.iml b/.idea/Recipies.iml
new file mode 100644
index 00000000..7e463712
--- /dev/null
+++ b/.idea/Recipies.iml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..97626ba4
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
new file mode 100644
index 00000000..bac7af21
--- /dev/null
+++ b/.idea/jsLibraryMappings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..b3e4b45b
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..b95b2dc6
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 00000000..0d184fe3
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,483 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ settings.LOGIN_REDIRECT_URL
+ LOGIN_REDIRECT_URL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1517427579474
+
+
+ 1517427579474
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Recipies/__init__.py b/Recipies/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Recipies/settings.py b/Recipies/settings.py
new file mode 100644
index 00000000..c9d01fce
--- /dev/null
+++ b/Recipies/settings.py
@@ -0,0 +1,119 @@
+"""
+Django settings for Recipies project.
+
+Generated by 'django-admin startproject' using Django 2.0.1.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/2.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/2.0/ref/settings/
+"""
+
+import os
+
+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
+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/2.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = '3*2&bz92brcnq^3c9b=_g%sc3b(i1j#rs*%1k67c8=cy2397j3'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+LOGIN_REDIRECT_URL = "index"
+LOGOUT_REDIRECT_URL = "index"
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'cookbook.apps.CookbookConfig',
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'Recipies.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [os.path.join(BASE_DIR, 'templates')]
+ ,
+ '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 = 'Recipies.wsgi.application'
+
+# Database
+# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+ }
+}
+
+# Password validation
+# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+# Internationalization
+# https://docs.djangoproject.com/en/2.0/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/2.0/howto/static-files/
+
+STATIC_URL = '/static/'
diff --git a/Recipies/urls.py b/Recipies/urls.py
new file mode 100644
index 00000000..2879f849
--- /dev/null
+++ b/Recipies/urls.py
@@ -0,0 +1,24 @@
+"""Recipies URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/2.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.urls import include, path
+from django.contrib import admin
+
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('cookbook/', include('cookbook.urls')),
+ path('accounts/', include('django.contrib.auth.urls')),
+]
diff --git a/Recipies/wsgi.py b/Recipies/wsgi.py
new file mode 100644
index 00000000..82690f74
--- /dev/null
+++ b/Recipies/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for Recipies 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/2.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Recipies.settings")
+
+application = get_wsgi_application()
diff --git a/cookbook/__init__.py b/cookbook/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/cookbook/admin.py b/cookbook/admin.py
new file mode 100644
index 00000000..cb0d4307
--- /dev/null
+++ b/cookbook/admin.py
@@ -0,0 +1,7 @@
+from django.contrib import admin
+from .models import *
+
+
+admin.site.register(Recipe)
+admin.site.register(Keyword)
+admin.site.register(Category)
diff --git a/cookbook/apps.py b/cookbook/apps.py
new file mode 100644
index 00000000..b0992662
--- /dev/null
+++ b/cookbook/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class CookbookConfig(AppConfig):
+ name = 'cookbook'
diff --git a/cookbook/forms.py b/cookbook/forms.py
new file mode 100644
index 00000000..9de95560
--- /dev/null
+++ b/cookbook/forms.py
@@ -0,0 +1,56 @@
+from django import forms
+from .models import *
+
+
+class RecipeForm(forms.ModelForm):
+ class Meta:
+ model = Recipe
+ fields = ('name', 'category', 'keywords')
+
+ labels = {
+ 'name': 'Name',
+ 'category': 'Kategorie',
+ 'keywords': 'Tags',
+ }
+
+ help_texts = {
+ 'keywords': 'Strg+Click für Mehrfachauswahl',
+ }
+
+ def __init__(self, *args, **kwargs):
+ super(RecipeForm, self).__init__(*args, **kwargs)
+ self.fields['name'].widget.attrs.update({'class': 'form-control'})
+ self.fields['category'].widget.attrs.update({'class': 'form-control'})
+ self.fields['keywords'].widget.attrs.update({'class': 'form-control'})
+
+
+class CategoryForm(forms.ModelForm):
+ class Meta:
+ model = Category
+ fields = ('name', 'description')
+
+ labels = {
+ 'name': 'Name',
+ 'description': 'Beschreibung',
+ }
+
+ def __init__(self, *args, **kwargs):
+ super(CategoryForm, self).__init__(*args, **kwargs)
+ self.fields['name'].widget.attrs.update({'class': 'form-control'})
+ self.fields['description'].widget.attrs.update({'class': 'form-control'})
+
+
+class KeywordForm(forms.ModelForm):
+ class Meta:
+ model = Keyword
+ fields = ('name', 'description')
+
+ labels = {
+ 'name': 'Name',
+ 'description': 'Beschreibung',
+ }
+
+ def __init__(self, *args, **kwargs):
+ super(KeywordForm, self).__init__(*args, **kwargs)
+ self.fields['name'].widget.attrs.update({'class': 'form-control'})
+ self.fields['description'].widget.attrs.update({'class': 'form-control'})
diff --git a/cookbook/migrations/0001_initial.py b/cookbook/migrations/0001_initial.py
new file mode 100644
index 00000000..044d2279
--- /dev/null
+++ b/cookbook/migrations/0001_initial.py
@@ -0,0 +1,49 @@
+# Generated by Django 2.0.1 on 2018-01-31 21:52
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Category',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=64)),
+ ('description', models.TextField(default='')),
+ ('created_by', models.IntegerField(default=0)),
+ ('created_at', models.DateTimeField(auto_now_add=True)),
+ ('updated_at', models.DateTimeField(auto_now=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Keyword',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=64)),
+ ('description', models.TextField(default='')),
+ ('created_by', models.IntegerField(default=0)),
+ ('created_at', models.DateTimeField(auto_now_add=True)),
+ ('updated_at', models.DateTimeField(auto_now=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Recipe',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=64)),
+ ('created_by', models.IntegerField(default=0)),
+ ('created_at', models.DateTimeField(auto_now_add=True)),
+ ('updated_at', models.DateTimeField(auto_now=True)),
+ ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cookbook.Category')),
+ ('keywords', models.ManyToManyField(to='cookbook.Keyword')),
+ ],
+ ),
+ ]
diff --git a/cookbook/migrations/__init__.py b/cookbook/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/cookbook/models.py b/cookbook/models.py
new file mode 100644
index 00000000..05bf8aad
--- /dev/null
+++ b/cookbook/models.py
@@ -0,0 +1,36 @@
+from django.db import models
+
+
+class Keyword(models.Model):
+ name = models.CharField(max_length=64)
+ description = models.TextField(default="")
+ created_by = models.IntegerField(default=0)
+ created_at = models.DateTimeField(auto_now_add=True)
+ updated_at = models.DateTimeField(auto_now=True)
+
+ def __str__(self):
+ return self.name
+
+
+class Category(models.Model):
+ name = models.CharField(max_length=64)
+ description = models.TextField(default="")
+ created_by = models.IntegerField(default=0)
+ created_at = models.DateTimeField(auto_now_add=True)
+ updated_at = models.DateTimeField(auto_now=True)
+
+ def __str__(self):
+ return self.name
+
+
+class Recipe(models.Model):
+ name = models.CharField(max_length=64)
+ path = models.CharField
+ category = models.ForeignKey(Category, on_delete=models.CASCADE)
+ keywords = models.ManyToManyField(Keyword)
+ created_by = models.IntegerField(default=0)
+ created_at = models.DateTimeField(auto_now_add=True)
+ updated_at = models.DateTimeField(auto_now=True)
+
+ def __str__(self):
+ return self.name
diff --git a/cookbook/templates/base.html b/cookbook/templates/base.html
new file mode 100644
index 00000000..b21cfe6d
--- /dev/null
+++ b/cookbook/templates/base.html
@@ -0,0 +1,59 @@
+{% load staticfiles %}
+
+
+ {% block title %}
+ {% endblock %}
+
+
+
+
+
+
+
+
+
+
+
+
+ {% block content %}
+ {% endblock %}
+
+
+
+
\ No newline at end of file
diff --git a/cookbook/templates/index.html b/cookbook/templates/index.html
new file mode 100644
index 00000000..83e078c3
--- /dev/null
+++ b/cookbook/templates/index.html
@@ -0,0 +1,22 @@
+{% extends "base.html" %}
+
+{% block title %}Rezepte{% endblock %}
+
+{% block content %}
+
+ Übersicht
+
+
+
+ Name |
+ Kategorie |
+
+ {% for recipe in recipes %}
+
+ {{ recipe.name }} |
+ {{ recipe.category }} |
+
+ {% endfor %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cookbook/templates/new_category.html b/cookbook/templates/new_category.html
new file mode 100644
index 00000000..1972583d
--- /dev/null
+++ b/cookbook/templates/new_category.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+
+ Neue Kategorie
+ Neue Kategorie für ein Rezept
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cookbook/templates/new_keyword.html b/cookbook/templates/new_keyword.html
new file mode 100644
index 00000000..d491e236
--- /dev/null
+++ b/cookbook/templates/new_keyword.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cookbook/templates/new_recipe.html b/cookbook/templates/new_recipe.html
new file mode 100644
index 00000000..d491e236
--- /dev/null
+++ b/cookbook/templates/new_recipe.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cookbook/templates/registration/login.html b/cookbook/templates/registration/login.html
new file mode 100644
index 00000000..4627346b
--- /dev/null
+++ b/cookbook/templates/registration/login.html
@@ -0,0 +1,35 @@
+{% extends "base.html" %}
+
+{% block content %}
+
+{% if form.errors %}
+Your username and password didn't match. Please try again.
+{% endif %}
+
+{% if next %}
+ {% if user.is_authenticated %}
+ Your account doesn't have access to this page. To proceed,
+ please login with an account that has access.
+ {% else %}
+ Please login to see this page.
+ {% endif %}
+{% endif %}
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cookbook/tests.py b/cookbook/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/cookbook/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/cookbook/urls.py b/cookbook/urls.py
new file mode 100644
index 00000000..664300dc
--- /dev/null
+++ b/cookbook/urls.py
@@ -0,0 +1,10 @@
+from django.urls import path
+
+from . import views
+
+urlpatterns = [
+ path('', views.index, name='index'),
+ path('new_recipe', views.new_recipe, name='new_recipe'),
+ path('new_category', views.new_category, name='new_category'),
+ path('new_keyword', views.new_keyword, name='new_keyword'),
+]
diff --git a/cookbook/views.py b/cookbook/views.py
new file mode 100644
index 00000000..85c1e85b
--- /dev/null
+++ b/cookbook/views.py
@@ -0,0 +1,53 @@
+from django.contrib.auth.decorators import login_required
+from django.shortcuts import render, redirect
+from cookbook.forms import *
+
+
+def index(request):
+ recipes = Recipe.objects.all()
+ return render(request, 'index.html', {'recipes': recipes})
+
+
+@login_required
+def new_recipe(request):
+ if request.method == "POST":
+ form = RecipeForm(request.POST)
+ if form.is_valid():
+ recipe = form.save(commit=False)
+ recipe.created_by = request.user.id
+ recipe.save()
+ return redirect('index')
+ else:
+ form = RecipeForm()
+
+ return render(request, 'new_recipe.html', {'form': form})
+
+
+@login_required
+def new_category(request):
+ if request.method == "POST":
+ form = CategoryForm(request.POST)
+ if form.is_valid():
+ category = form.save(commit=False)
+ category.created_by = request.user.id
+ category.save()
+ return redirect('index')
+ else:
+ form = CategoryForm()
+
+ return render(request, 'new_recipe.html', {'form': form})
+
+
+@login_required
+def new_keyword(request):
+ if request.method == "POST":
+ form = KeywordForm(request.POST)
+ if form.is_valid():
+ keyword = form.save(commit=False)
+ keyword.created_by = request.user.id
+ keyword.save()
+ return redirect('index')
+ else:
+ form = KeywordForm()
+
+ return render(request, 'new_keyword.html', {'form': form})
diff --git a/db.sqlite3 b/db.sqlite3
new file mode 100644
index 00000000..4818945a
Binary files /dev/null and b/db.sqlite3 differ
diff --git a/manage.py b/manage.py
new file mode 100644
index 00000000..c9c9dbae
--- /dev/null
+++ b/manage.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if __name__ == "__main__":
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Recipies.settings")
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
diff --git a/venv/Scripts/Activate.ps1 b/venv/Scripts/Activate.ps1
new file mode 100644
index 00000000..0d612aea
--- /dev/null
+++ b/venv/Scripts/Activate.ps1
@@ -0,0 +1,51 @@
+function global:deactivate ([switch]$NonDestructive) {
+ # Revert to original values
+ if (Test-Path function:_OLD_VIRTUAL_PROMPT) {
+ copy-item function:_OLD_VIRTUAL_PROMPT function:prompt
+ remove-item function:_OLD_VIRTUAL_PROMPT
+ }
+
+ if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) {
+ copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME
+ remove-item env:_OLD_VIRTUAL_PYTHONHOME
+ }
+
+ if (Test-Path env:_OLD_VIRTUAL_PATH) {
+ copy-item env:_OLD_VIRTUAL_PATH env:PATH
+ remove-item env:_OLD_VIRTUAL_PATH
+ }
+
+ if (Test-Path env:VIRTUAL_ENV) {
+ remove-item env:VIRTUAL_ENV
+ }
+
+ if (!$NonDestructive) {
+ # Self destruct!
+ remove-item function:deactivate
+ }
+}
+
+deactivate -nondestructive
+
+$env:VIRTUAL_ENV="F:\Developement\Django\Recipies\venv"
+
+if (! $env:VIRTUAL_ENV_DISABLE_PROMPT) {
+ # Set the prompt to include the env name
+ # Make sure _OLD_VIRTUAL_PROMPT is global
+ function global:_OLD_VIRTUAL_PROMPT {""}
+ copy-item function:prompt function:_OLD_VIRTUAL_PROMPT
+ function global:prompt {
+ Write-Host -NoNewline -ForegroundColor Green '(venv) '
+ _OLD_VIRTUAL_PROMPT
+ }
+}
+
+# Clear PYTHONHOME
+if (Test-Path env:PYTHONHOME) {
+ copy-item env:PYTHONHOME env:_OLD_VIRTUAL_PYTHONHOME
+ remove-item env:PYTHONHOME
+}
+
+# Add the venv to the PATH
+copy-item env:PATH env:_OLD_VIRTUAL_PATH
+$env:PATH = "$env:VIRTUAL_ENV\Scripts;$env:PATH"
diff --git a/venv/Scripts/activate b/venv/Scripts/activate
new file mode 100644
index 00000000..dfe704b6
--- /dev/null
+++ b/venv/Scripts/activate
@@ -0,0 +1,76 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+deactivate () {
+ # reset old environment variables
+ if [ -n "$_OLD_VIRTUAL_PATH" ] ; then
+ PATH="$_OLD_VIRTUAL_PATH"
+ export PATH
+ unset _OLD_VIRTUAL_PATH
+ fi
+ if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then
+ PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
+ export PYTHONHOME
+ unset _OLD_VIRTUAL_PYTHONHOME
+ fi
+
+ # This should detect bash and zsh, which have a hash command that must
+ # be called to get it to forget past commands. Without forgetting
+ # past commands the $PATH changes we made may not be respected
+ if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
+ hash -r
+ fi
+
+ if [ -n "$_OLD_VIRTUAL_PS1" ] ; then
+ PS1="$_OLD_VIRTUAL_PS1"
+ export PS1
+ unset _OLD_VIRTUAL_PS1
+ fi
+
+ unset VIRTUAL_ENV
+ if [ ! "$1" = "nondestructive" ] ; then
+ # Self destruct!
+ unset -f deactivate
+ fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV="F:\Developement\Django\Recipies\venv"
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/Scripts:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
+if [ -n "$PYTHONHOME" ] ; then
+ _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
+ unset PYTHONHOME
+fi
+
+if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
+ _OLD_VIRTUAL_PS1="$PS1"
+ if [ "x(venv) " != x ] ; then
+ PS1="(venv) $PS1"
+ else
+ if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
+ # special case for Aspen magic directories
+ # see http://www.zetadev.com/software/aspen/
+ PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
+ else
+ PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
+ fi
+ fi
+ export PS1
+fi
+
+# This should detect bash and zsh, which have a hash command that must
+# be called to get it to forget past commands. Without forgetting
+# past commands the $PATH changes we made may not be respected
+if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
+ hash -r
+fi
diff --git a/venv/Scripts/activate.bat b/venv/Scripts/activate.bat
new file mode 100644
index 00000000..a76354cb
--- /dev/null
+++ b/venv/Scripts/activate.bat
@@ -0,0 +1,32 @@
+@echo off
+set "VIRTUAL_ENV=F:\Developement\Django\Recipies\venv"
+
+if not defined PROMPT (
+ set "PROMPT=$P$G"
+)
+
+if defined _OLD_VIRTUAL_PROMPT (
+ set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
+)
+
+if defined _OLD_VIRTUAL_PYTHONHOME (
+ set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
+)
+
+set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
+set "PROMPT=(venv) %PROMPT%"
+
+if defined PYTHONHOME (
+ set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
+ set PYTHONHOME=
+)
+
+if defined _OLD_VIRTUAL_PATH (
+ set "PATH=%_OLD_VIRTUAL_PATH%"
+) else (
+ set "_OLD_VIRTUAL_PATH=%PATH%"
+)
+
+set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"
+
+:END
diff --git a/venv/Scripts/deactivate.bat b/venv/Scripts/deactivate.bat
new file mode 100644
index 00000000..1205c618
--- /dev/null
+++ b/venv/Scripts/deactivate.bat
@@ -0,0 +1,21 @@
+@echo off
+
+if defined _OLD_VIRTUAL_PROMPT (
+ set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
+)
+set _OLD_VIRTUAL_PROMPT=
+
+if defined _OLD_VIRTUAL_PYTHONHOME (
+ set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
+ set _OLD_VIRTUAL_PYTHONHOME=
+)
+
+if defined _OLD_VIRTUAL_PATH (
+ set "PATH=%_OLD_VIRTUAL_PATH%"
+)
+
+set _OLD_VIRTUAL_PATH=
+
+set VIRTUAL_ENV=
+
+:END
diff --git a/venv/Scripts/django-admin.py b/venv/Scripts/django-admin.py
new file mode 100644
index 00000000..b19de3cb
--- /dev/null
+++ b/venv/Scripts/django-admin.py
@@ -0,0 +1,5 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+from django.core import management
+
+if __name__ == "__main__":
+ management.execute_from_command_line()
diff --git a/venv/Scripts/easy_install-3.6-script.py b/venv/Scripts/easy_install-3.6-script.py
new file mode 100644
index 00000000..165ecd13
--- /dev/null
+++ b/venv/Scripts/easy_install-3.6-script.py
@@ -0,0 +1,12 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==28.8.0','console_scripts','easy_install-3.6'
+__requires__ = 'setuptools==28.8.0'
+import re
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+ sys.exit(
+ load_entry_point('setuptools==28.8.0', 'console_scripts', 'easy_install-3.6')()
+ )
diff --git a/venv/Scripts/easy_install-script.py b/venv/Scripts/easy_install-script.py
new file mode 100644
index 00000000..97158c61
--- /dev/null
+++ b/venv/Scripts/easy_install-script.py
@@ -0,0 +1,12 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==28.8.0','console_scripts','easy_install'
+__requires__ = 'setuptools==28.8.0'
+import re
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+ sys.exit(
+ load_entry_point('setuptools==28.8.0', 'console_scripts', 'easy_install')()
+ )
diff --git a/venv/Scripts/pip-script.py b/venv/Scripts/pip-script.py
new file mode 100644
index 00000000..188e7261
--- /dev/null
+++ b/venv/Scripts/pip-script.py
@@ -0,0 +1,12 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==9.0.1','console_scripts','pip'
+__requires__ = 'pip==9.0.1'
+import re
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+ sys.exit(
+ load_entry_point('pip==9.0.1', 'console_scripts', 'pip')()
+ )
diff --git a/venv/Scripts/pip3-script.py b/venv/Scripts/pip3-script.py
new file mode 100644
index 00000000..b7959921
--- /dev/null
+++ b/venv/Scripts/pip3-script.py
@@ -0,0 +1,12 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==9.0.1','console_scripts','pip3'
+__requires__ = 'pip==9.0.1'
+import re
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+ sys.exit(
+ load_entry_point('pip==9.0.1', 'console_scripts', 'pip3')()
+ )
diff --git a/venv/Scripts/pip3.6-script.py b/venv/Scripts/pip3.6-script.py
new file mode 100644
index 00000000..a31b91b5
--- /dev/null
+++ b/venv/Scripts/pip3.6-script.py
@@ -0,0 +1,12 @@
+#!F:\Developement\Django\Recipies\venv\Scripts\python.exe
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==9.0.1','console_scripts','pip3.6'
+__requires__ = 'pip==9.0.1'
+import re
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
+ sys.exit(
+ load_entry_point('pip==9.0.1', 'console_scripts', 'pip3.6')()
+ )
diff --git a/venv/pip-selfcheck.json b/venv/pip-selfcheck.json
new file mode 100644
index 00000000..73425653
--- /dev/null
+++ b/venv/pip-selfcheck.json
@@ -0,0 +1 @@
+{"last_check":"2018-01-31T19:41:02Z","pypi_version":"9.0.1"}
\ No newline at end of file
diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg
new file mode 100644
index 00000000..ee0fa036
--- /dev/null
+++ b/venv/pyvenv.cfg
@@ -0,0 +1,3 @@
+home = C:\Users\vabene1111\AppData\Local\Programs\Python\Python36
+include-system-site-packages = false
+version = 3.6.1