From 6e8827ae9d4a57a79fb6531c583721ebefc34bdc Mon Sep 17 00:00:00 2001 From: Jessica Hart Date: Fri, 8 Dec 2017 14:35:28 -0600 Subject: [PATCH 1/2] Updated .gitignore --- .gitignore | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8ee7f16..61132ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,21 @@ ### Python Files ### *.pyc +### Environments ### +djangoenv +djangoEnv +DjangoEnv +flaskenv +flaskEnv +FlaskEnv +venv +denv +env + ### Workspace Files ### *.idea *.vscode +*.sublime-workspace ### System Files ### .DS_Store @@ -11,4 +23,11 @@ Thumbs.db ehthumbs.db ehthumbs_vista.db Desktop.ini -$RECYCLE.BIN/ \ No newline at end of file +$RECYCLE.BIN/ + +### Compressed Files ### +*.zip +*.7z +*.rar +*.gzip +*.gz From 92487c79554b4f1bb11b9119eec0c5c455bdf14d Mon Sep 17 00:00:00 2001 From: Jessica Hart Date: Mon, 11 Dec 2017 18:18:04 -0600 Subject: [PATCH 2/2] Django session_words demo --- .../Django/session_words/apps/__init__.py | 0 .../session_words/apps/main_app/__init__.py | 0 .../session_words/apps/main_app/admin.py | 3 + .../session_words/apps/main_app/apps.py | 7 + .../apps/main_app/migrations/__init__.py | 0 .../session_words/apps/main_app/models.py | 5 + .../apps/main_app/static/main_app/style.css | 17 +++ .../main_app/templates/main_app/index.html | 37 ++++++ .../session_words/apps/main_app/tests.py | 3 + .../session_words/apps/main_app/urls.py | 7 + .../session_words/apps/main_app/views.py | 46 +++++++ jessica_hart/Django/session_words/db.sqlite3 | Bin 0 -> 131072 bytes jessica_hart/Django/session_words/manage.py | 22 ++++ .../session_words/session_words/__init__.py | 0 .../session_words/session_words/settings.py | 121 ++++++++++++++++++ .../session_words/session_words/urls.py | 7 + .../session_words/session_words/wsgi.py | 16 +++ 17 files changed, 291 insertions(+) create mode 100644 jessica_hart/Django/session_words/apps/__init__.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/__init__.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/admin.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/apps.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/migrations/__init__.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/models.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/static/main_app/style.css create mode 100644 jessica_hart/Django/session_words/apps/main_app/templates/main_app/index.html create mode 100644 jessica_hart/Django/session_words/apps/main_app/tests.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/urls.py create mode 100644 jessica_hart/Django/session_words/apps/main_app/views.py create mode 100644 jessica_hart/Django/session_words/db.sqlite3 create mode 100755 jessica_hart/Django/session_words/manage.py create mode 100644 jessica_hart/Django/session_words/session_words/__init__.py create mode 100644 jessica_hart/Django/session_words/session_words/settings.py create mode 100644 jessica_hart/Django/session_words/session_words/urls.py create mode 100644 jessica_hart/Django/session_words/session_words/wsgi.py diff --git a/jessica_hart/Django/session_words/apps/__init__.py b/jessica_hart/Django/session_words/apps/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jessica_hart/Django/session_words/apps/main_app/__init__.py b/jessica_hart/Django/session_words/apps/main_app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jessica_hart/Django/session_words/apps/main_app/admin.py b/jessica_hart/Django/session_words/apps/main_app/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/jessica_hart/Django/session_words/apps/main_app/apps.py b/jessica_hart/Django/session_words/apps/main_app/apps.py new file mode 100644 index 0000000..feab95d --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class MainAppConfig(AppConfig): + name = 'main_app' diff --git a/jessica_hart/Django/session_words/apps/main_app/migrations/__init__.py b/jessica_hart/Django/session_words/apps/main_app/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jessica_hart/Django/session_words/apps/main_app/models.py b/jessica_hart/Django/session_words/apps/main_app/models.py new file mode 100644 index 0000000..bd4b2ab --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/models.py @@ -0,0 +1,5 @@ +from __future__ import unicode_literals + +from django.db import models + +# Create your models here. diff --git a/jessica_hart/Django/session_words/apps/main_app/static/main_app/style.css b/jessica_hart/Django/session_words/apps/main_app/static/main_app/style.css new file mode 100644 index 0000000..aabbaac --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/static/main_app/style.css @@ -0,0 +1,17 @@ +/* Class for big fonts */ +.big_font { + font-size: 25px; +} + +/* Classes that match the color radio button values */ +.red { + color: red; +} + +.green { + color: green; +} + +.blue { + color: blue; +} diff --git a/jessica_hart/Django/session_words/apps/main_app/templates/main_app/index.html b/jessica_hart/Django/session_words/apps/main_app/templates/main_app/index.html new file mode 100644 index 0000000..8a9187d --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/templates/main_app/index.html @@ -0,0 +1,37 @@ + + + + + Session Words + + {% load static %} + + + + +

Add a new word

+ +
+ + {% csrf_token %} + + + + + + + show in BIG fonts! + +
+ Clear Session + + + \ No newline at end of file diff --git a/jessica_hart/Django/session_words/apps/main_app/tests.py b/jessica_hart/Django/session_words/apps/main_app/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/jessica_hart/Django/session_words/apps/main_app/urls.py b/jessica_hart/Django/session_words/apps/main_app/urls.py new file mode 100644 index 0000000..6524238 --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls import url +from . import views +urlpatterns = [ + url(r'^$', views.index), + url(r'^add_word$', views.add_word), + url(r'^clear$', views.clear) +] \ No newline at end of file diff --git a/jessica_hart/Django/session_words/apps/main_app/views.py b/jessica_hart/Django/session_words/apps/main_app/views.py new file mode 100644 index 0000000..367152a --- /dev/null +++ b/jessica_hart/Django/session_words/apps/main_app/views.py @@ -0,0 +1,46 @@ +from django.shortcuts import render, HttpResponse, redirect +# Import required to use datetime +from datetime import datetime + +def index(request): + # If no word list is in session, create empty array to append them into + if 'words' not in request.session: + request.session['words'] = [] + + return render(request, "main_app/index.html") + +def add_word(request): + # Set size to empty unless checkbox was selected + size = '' + if 'big_font' in request.POST: + size = 'big_font' + + # Set color to empty unless a radio button was selected + color = '' + if 'color' in request.POST: + color = request.POST['color'] + + # Gets the current time and formats it into a string + # See http://strftime.org/ or https://www.foragoodstrftime.com/ for more info + # Note the datetime import at top + date = datetime.now().strftime("%I:%M:%S%p, %B %e, %Y") + + # Collect data on word and enter into dictionary + word = { + 'word': request.POST['word'], + 'color': color, + 'size': size, + 'created_at': date + } + + # Can't append word into request.session directly + temp = request.session['words'] + temp.append(word) + request.session['words'] = temp + + return redirect(index) + +def clear(request): + # Clear the session of the entire word list + del request.session['words'] + return redirect(index) \ No newline at end of file diff --git a/jessica_hart/Django/session_words/db.sqlite3 b/jessica_hart/Django/session_words/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..e03cc4d24cb67a8c146a9dd367eae93403d507dd GIT binary patch literal 131072 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