From bf4bbf68db7256366fc680946dd0c0b10c61595b Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Mon, 7 Mar 2022 17:20:00 -0800 Subject: [PATCH 1/6] update 7 --- Code/chadL/Python/Lab14.py | 69 +++++++++++++++++++++ Code/chadL/Python/lab7.py | 47 +++++++++++++++ Code/chadL/Python/lab8.py | 44 ++++++++++++++ Code/chadL/Python/lab9.py | 97 ++++++++++++++++++++++++++++++ Code/chadL/html_css/lab1.html | 48 +++++++++++++++ Code/chadL/html_css/lab1pic.jpg | Bin 0 -> 37724 bytes Code/chadL/html_css/lab1style.css | 20 ++++++ 7 files changed, 325 insertions(+) create mode 100644 Code/chadL/Python/Lab14.py create mode 100644 Code/chadL/Python/lab7.py create mode 100644 Code/chadL/Python/lab8.py create mode 100644 Code/chadL/Python/lab9.py create mode 100644 Code/chadL/html_css/lab1.html create mode 100644 Code/chadL/html_css/lab1pic.jpg create mode 100644 Code/chadL/html_css/lab1style.css diff --git a/Code/chadL/Python/Lab14.py b/Code/chadL/Python/Lab14.py new file mode 100644 index 00000000..4f4e2c88 --- /dev/null +++ b/Code/chadL/Python/Lab14.py @@ -0,0 +1,69 @@ +#1 +""" +import time +import requests +import re + +response = requests.get("https://icanhazdadjoke.com", headers={ + 'Accept': 'application/json' +}) + +response_dict = response.json() +joke = response_dict["joke"] + + +joke_list = re.split(pattern = r"[.,?!]", + string = joke) + +for i in joke_list: + if i == '': + del joke_list[-1] + +print(joke_list[0]) +time.sleep(3) +print(joke_list[1]) +""" + +#2 +import time +import requests +import re + +while True: + + search_term = input("What would you like to search for? Type 'done' to exit. ") + + if search_term == "done": + break + + response = requests.get(f"https://icanhazdadjoke.com/search?term=${search_term}", headers={ + 'Accept': 'application/json' + }) + + response_dict = response.json() + print(response_dict) + + """ + joke = response_dict["joke"] + + + joke_list = re.split(pattern = r"[.,?!]", + string = joke) + + for i in joke_list: + if i == '': + del joke_list[-1] + + print(joke_list[0]) + time.sleep(3) + print(joke_list[1]) + """ + +Where do rabbits go after they get married? On a bunny-moon. Where do rabbits go after they get married +PZDd', 'joke': 'When does a joke become a dad joke? When it becomes apparent.'}, +{'id': 'FBQ7wskbMmb', 'joke': "Want to hear a joke about construction? Nah, I'm still working on it."}, +{'id': 'rc2E6EdiNe', 'joke': "Want to hear my pizza joke? Never mind, it's too cheesy."}, +{'id': 'EYo4TCAdUf', 'joke': 'I tried to write a chemistry joke, but could never get a reaction.'}, +{'id': '8USSSfVn3ob', 'joke': "I've been trying to come up with a dad joke about momentum . . . but I just can't seem to get it going."}, +{'id': 'ozPmbFtWDlb', 'joke': "Some people say that comedians who tell one too many light many levels."} +], 'search_term': '$joke', 'status': 200, 'total_jokes': 12, 'total_pages': 1} \ No newline at end of file diff --git a/Code/chadL/Python/lab7.py b/Code/chadL/Python/lab7.py new file mode 100644 index 00000000..2e80331b --- /dev/null +++ b/Code/chadL/Python/lab7.py @@ -0,0 +1,47 @@ +#Lab 7: ROT Cipher + +hacker = input("What shall we encypt? ").lower() #ask user for words to encypt + +rot13_dict = { #dictinary of associated letters + "a": "n", + "b": "o", + "c": "p", + "d": "q", + "e": "r", + "f": "s", + "g": "t", + "h": "u", + "i": "v", + "j": "w", + "k": "x", + "l": "y", + "m": "z", + "n": "a", + "o": "b", + "p": "c", + "q": "d", + "r": "e", + "s": "f", + "t": "g", + "u": "h", + "v": "i", + "w": "j", + "x": "k", + "y": "l", + "z": "m", + " ": " " +} + +hacker = list(hacker) #turn input into list + + +def rot_13(hacker): #fucntion to turn input into list. + rot13_list = [] + for letter in hacker: #loop to add appended letter to list + cypher = rot13_dict[letter] + rot13_list.append(cypher) # add cypher to rot13 list + + final_answer = ''.join(rot13_list) # .join seperates everything except the letters. + print(f"Your encrypted code is: {final_answer}") + +rot_13(hacker) diff --git a/Code/chadL/Python/lab8.py b/Code/chadL/Python/lab8.py new file mode 100644 index 00000000..c00542c1 --- /dev/null +++ b/Code/chadL/Python/lab8.py @@ -0,0 +1,44 @@ +data = [1, 2 , 3, 4, 5, 6, 7, 6, 5, 4, 5, 6, 7, 8, 9, 8, 7, 6, 7, 8, 9] #peaks and valleys list + + +def peaks(data): + for index, number in enumerate(data): + if index == 0 or index == len(data) -1: #not running first index or last + continue + + elif number > data[index -1 ] and number > data[index + 1]: #checking if index before or after is less then number + print(index) + +def valleys(data): + for index, number in enumerate(data): + if index == 0 or index == len(data) -1: + continue + + elif number < data[index -1 ] and number < data[index + 1]: ##checking if index before or after is greater then number + print(index) + +def peaks_valleys(data): + for index, number in enumerate(data): + if index == 0 or index == len(data) -1: + continue + + elif number > data[index -1 ] and number > data[index + 1]: + print(index) + + elif number < data[index -1 ] and number < data[index + 1]: + print(index) + +peaks_valleys(data) + + +""" +Lab 8: Peaks and Valleys +Define the following functions: + +peaks - Returns the indices of peaks. A peak has a lower number on both the left and the right. + +valleys - Returns the indices of 'valleys'. A valley is a number with a higher number on both the left and the right. + +peaks_and_valleys - uses the above two functions to compile a single list of the peaks and valleys in order of appearance in the original data. +""" + diff --git a/Code/chadL/Python/lab9.py b/Code/chadL/Python/lab9.py new file mode 100644 index 00000000..617fb14b --- /dev/null +++ b/Code/chadL/Python/lab9.py @@ -0,0 +1,97 @@ +# compute ARI + +with open("text.txt") as file: + text = file.read() + +character_count = 0 +for character in text: + if character == " " or character == "," or character == ".": + continue + else: + character_count += 1 + +word_list = text.split(" ") +word_list = len(word_list) + +sentence_list = text.split(".") +sentence_list = len(sentence_list) + +formula = 4.71 * (character_count / word_list) + 0.5 * (word_list / sentence_list) - 21.43 +print(formula) + + +ari_scale = { + 1: {'ages': '5-6', 'grade_level': 'Kindergarten'}, + 2: {'ages': '6-7', 'grade_level': '1st Grade'}, + 3: {'ages': '7-8', 'grade_level': '2nd Grade'}, + 4: {'ages': '8-9', 'grade_level': '3rd Grade'}, + 5: {'ages': '9-10', 'grade_level': '4th Grade'}, + 6: {'ages': '10-11', 'grade_level': '5th Grade'}, + 7: {'ages': '11-12', 'grade_level': '6th Grade'}, + 8: {'ages': '12-13', 'grade_level': '7th Grade'}, + 9: {'ages': '13-14', 'grade_level': '8th Grade'}, + 10: {'ages': '14-15', 'grade_level': '9th Grade'}, + 11: {'ages': '15-16', 'grade_level': '10th Grade'}, + 12: {'ages': '16-17', 'grade_level': '11th Grade'}, + 13: {'ages': '17-18', 'grade_level': '12th Grade'}, + 14: {'ages': '18-22', 'grade_level': 'College'} +} + +#print(f'The ARI for "text.txt" is 12 This corresponds to a 11th Grade level of difficulty that is suitable for an average person {ari_scale[]} years old.') + + +''' + Score Ages Grade Level + 1 5-6 Kindergarten + 2 6-7 First Grade + 3 7-8 Second Grade + 4 8-9 Third Grade + 5 9-10 Fourth Grade + 6 10-11 Fifth Grade + 7 11-12 Sixth Grade + 8 12-13 Seventh Grade + 9 13-14 Eighth Grade + 10 14-15 Ninth Grade + 11 15-16 Tenth Grade + 12 16-17 Eleventh grade + 13 17-18 Twelfth grade + 14 18-22 College + + +Lab 9: Compute Automated Readability Index +Compute the ARI for a given body of text loaded in from a file. +The automated readability index (ARI) is a formula for computing the U.S. grade level for a given block of text. +The general formula to compute the ARI is as follows: + +ARI Formula + +The score is computed by multiplying the number of characters divided by the number of words by 4.71, +adding the number of words divided by the number of sentences multiplied by 0.5, and subtracting 21.43. +If the result is a decimal, always round up. +Scores greater than 14 should be presented as having the same age and grade level as scores of 14. + + ari_scale = { + 1: {'ages': '5-6', 'grade_level': 'Kindergarten'}, + 2: {'ages': '6-7', 'grade_level': '1st Grade'}, + 3: {'ages': '7-8', 'grade_level': '2nd Grade'}, + 4: {'ages': '8-9', 'grade_level': '3rd Grade'}, + 5: {'ages': '9-10', 'grade_level': '4th Grade'}, + 6: {'ages': '10-11', 'grade_level': '5th Grade'}, + 7: {'ages': '11-12', 'grade_level': '6th Grade'}, + 8: {'ages': '12-13', 'grade_level': '7th Grade'}, + 9: {'ages': '13-14', 'grade_level': '8th Grade'}, + 10: {'ages': '14-15', 'grade_level': '9th Grade'}, + 11: {'ages': '15-16', 'grade_level': '10th Grade'}, + 12: {'ages': '16-17', 'grade_level': '11th Grade'}, + 13: {'ages': '17-18', 'grade_level': '12th Grade'}, + 14: {'ages': '18-22', 'grade_level': 'College'} +} +the output should look like: +-------------------------------------------------------- + +The ARI for gettysburg-address.txt is 12 +This corresponds to a 11th Grade level of difficulty +that is suitable for an average person 16-17 years old. + +-------------------------------------------------------- +''' diff --git a/Code/chadL/html_css/lab1.html b/Code/chadL/html_css/lab1.html new file mode 100644 index 00000000..e23c946d --- /dev/null +++ b/Code/chadL/html_css/lab1.html @@ -0,0 +1,48 @@ + + + + + + + Document + + + + +

+ Taserface is the up and coming leader of a band of brigands, who will rule the galaxies with fear and respect. +

+Alien guy +
+ + Wiki_Button + + + +

+Tazerface has lived in space most of his life. +

+ + + + + + +

+ "You're the one what killed those men by leading them down the wrong path.
+ Because you're weak and stupid! It's time for the Ravagers to rise once again to glory with a new captain: Taserface!"
+ ―Taserface to Yondu Udonta +

+ + + + \ No newline at end of file diff --git a/Code/chadL/html_css/lab1pic.jpg b/Code/chadL/html_css/lab1pic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc9a03e0f990d4595fcc4f9ef8256b9a971a3bab GIT binary patch literal 37724 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 literal 0 HcmV?d00001 diff --git a/Code/chadL/html_css/lab1style.css b/Code/chadL/html_css/lab1style.css new file mode 100644 index 00000000..1760bc95 --- /dev/null +++ b/Code/chadL/html_css/lab1style.css @@ -0,0 +1,20 @@ +.quote {font-family: fantasy; +font-style: italic; +font-size: 22px; +} + +body {text-align: center; +color: red; +font-size: 12; +} + +p {margin: 50px; +padding: auto; +font-family: monospace; + +} +html{ + background-image: url(https://getwallpapers.com/wallpaper/full/d/d/8/557330.jpg); +} +img {border-radius: 200px} + From 8546585005f65b69e4318a2819b21a30dbb91eea Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Sun, 13 Mar 2022 16:11:27 -0700 Subject: [PATCH 2/6] lab3 html --- Code/chadL/html_css/lab3.html/lab3.html | 172 ++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 Code/chadL/html_css/lab3.html/lab3.html diff --git a/Code/chadL/html_css/lab3.html/lab3.html b/Code/chadL/html_css/lab3.html/lab3.html new file mode 100644 index 00000000..5e4f9f68 --- /dev/null +++ b/Code/chadL/html_css/lab3.html/lab3.html @@ -0,0 +1,172 @@ + + + + + + + Blackbeards Blasters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SBR of the weekDrako AK899$US
ShotGun of the weekMossburg 500$499
Long rifle deal of the weekMossen neguant$399
Ammo of the week5.56 AP rounds$45 a case
+ + + + + +
+ + +
+
+
+
+ + 50% off GUNS + + +
+
+

Best Guns in the whole damn country

+
+
+
+
+ +
+
+
+
+
+ + Accessories + + +
+
+

Best accessories in the whole world.

+
+
+
+
+
+
+
+
+
+ + Ammo + + +
+
+

Ammo up the wazhooo.

+
+
+
+
+ + +
contact us for pirate blasters 1-800-blackmarket
+ +
+
+
+
+ +
+
+ + We sell the best pirate guns on the seven sea's. + +
+
+
+
+ + + + + + + + + \ No newline at end of file From 18cfb38169b1b722836008274781f21f42103936 Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Mon, 21 Mar 2022 15:54:40 -0700 Subject: [PATCH 3/6] html and flask --- Code/chadL/html_css/lab6/app.py | 63 +++++++++++++++++++ Code/chadL/html_css/lab6/static/styles.css | 15 +++++ Code/chadL/html_css/lab6/templates/index.html | 25 ++++++++ 3 files changed, 103 insertions(+) create mode 100644 Code/chadL/html_css/lab6/app.py create mode 100644 Code/chadL/html_css/lab6/static/styles.css create mode 100644 Code/chadL/html_css/lab6/templates/index.html diff --git a/Code/chadL/html_css/lab6/app.py b/Code/chadL/html_css/lab6/app.py new file mode 100644 index 00000000..b92e19dc --- /dev/null +++ b/Code/chadL/html_css/lab6/app.py @@ -0,0 +1,63 @@ +from flask import Flask, render_template, request + +app = Flask(__name__) + + +@app.route('/') +def index(): + #name = "chad" + return render_template('index.html') + +if __name__ == "__main__": + app.run() + +# $env:FLASK_APP = "app.py" +# $env:FLASK_ENV = "development" + +#Lab 7: ROT Cipher + +hacker = input("What shall we encypt? ").lower() #ask user for words to encypt + +rot13_dict = { #dictinary of associated letters + "a": "n", + "b": "o", + "c": "p", + "d": "q", + "e": "r", + "f": "s", + "g": "t", + "h": "u", + "i": "v", + "j": "w", + "k": "x", + "l": "y", + "m": "z", + "n": "a", + "o": "b", + "p": "c", + "q": "d", + "r": "e", + "s": "f", + "t": "g", + "u": "h", + "v": "i", + "w": "j", + "x": "k", + "y": "l", + "z": "m", + " ": " " +} + +hacker = list(hacker) #turn input into list + + +def rot_13(hacker): #fucntion to turn input into list. + rot13_list = [] + for letter in hacker: #loop to add appended letter to list + cypher = rot13_dict[letter] + rot13_list.append(cypher) # add cypher to rot13 list + + final_answer = ''.join(rot13_list) # .join seperates everything except the letters. + print(f"Your encrypted code is: {final_answer}") + +rot_13(hacker) \ No newline at end of file diff --git a/Code/chadL/html_css/lab6/static/styles.css b/Code/chadL/html_css/lab6/static/styles.css new file mode 100644 index 00000000..32a790db --- /dev/null +++ b/Code/chadL/html_css/lab6/static/styles.css @@ -0,0 +1,15 @@ +form{ + justify-content: center; + border: solid red; + width: 100%; + display: inline-block; +} + +body{ + align-items: center; + border: solid blue; +} + +img{ + border: solid purple; +} \ No newline at end of file diff --git a/Code/chadL/html_css/lab6/templates/index.html b/Code/chadL/html_css/lab6/templates/index.html new file mode 100644 index 00000000..e58c8d79 --- /dev/null +++ b/Code/chadL/html_css/lab6/templates/index.html @@ -0,0 +1,25 @@ + + + + + + + Encryptor + + + + + +
+
+ + + + +
+
+ + + + + \ No newline at end of file From d4ab00f28c93c03401a687aacb529680dbb2511c Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Mon, 21 Mar 2022 15:56:35 -0700 Subject: [PATCH 4/6] resubmit --- Code/chadL/html_css/lab1/lab1.html | 48 +++++++++++++++++++++++++ Code/chadL/html_css/lab1/lab1pic.jpg | Bin 0 -> 37724 bytes Code/chadL/html_css/lab1/lab1style.css | 20 +++++++++++ 3 files changed, 68 insertions(+) create mode 100644 Code/chadL/html_css/lab1/lab1.html create mode 100644 Code/chadL/html_css/lab1/lab1pic.jpg create mode 100644 Code/chadL/html_css/lab1/lab1style.css diff --git a/Code/chadL/html_css/lab1/lab1.html b/Code/chadL/html_css/lab1/lab1.html new file mode 100644 index 00000000..e23c946d --- /dev/null +++ b/Code/chadL/html_css/lab1/lab1.html @@ -0,0 +1,48 @@ + + + + + + + Document + + + + +

+ Taserface is the up and coming leader of a band of brigands, who will rule the galaxies with fear and respect. +

+Alien guy +
+ + Wiki_Button + + + +

+Tazerface has lived in space most of his life. +

+ + +
    +
  • eclector
  • +
  • various planets
  • +
  • various Spaceships
  • +
+ + + +

+ "You're the one what killed those men by leading them down the wrong path.
+ Because you're weak and stupid! It's time for the Ravagers to rise once again to glory with a new captain: Taserface!"
+ ―Taserface to Yondu Udonta +

+ + + + \ No newline at end of file diff --git a/Code/chadL/html_css/lab1/lab1pic.jpg b/Code/chadL/html_css/lab1/lab1pic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc9a03e0f990d4595fcc4f9ef8256b9a971a3bab GIT binary patch literal 37724 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 literal 0 HcmV?d00001 diff --git a/Code/chadL/html_css/lab1/lab1style.css b/Code/chadL/html_css/lab1/lab1style.css new file mode 100644 index 00000000..1760bc95 --- /dev/null +++ b/Code/chadL/html_css/lab1/lab1style.css @@ -0,0 +1,20 @@ +.quote {font-family: fantasy; +font-style: italic; +font-size: 22px; +} + +body {text-align: center; +color: red; +font-size: 12; +} + +p {margin: 50px; +padding: auto; +font-family: monospace; + +} +html{ + background-image: url(https://getwallpapers.com/wallpaper/full/d/d/8/557330.jpg); +} +img {border-radius: 200px} + From 40159b7c823a675276a07ccf03752146dd3ec6b0 Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Mon, 21 Mar 2022 15:59:18 -0700 Subject: [PATCH 5/6] push5 --- Code/chadL/html_css/lab2/lab2.html | 58 ++++++++ Code/chadL/html_css/lab2/lab2pic.jpg | 3 + Code/chadL/html_css/lab2/lab2stylesheet.css | 91 ++++++++++++ Code/chadL/html_css/lab5/index.html | 152 ++++++++++++++++++++ Code/chadL/html_css/lab5/stylesheet.css | 57 ++++++++ 5 files changed, 361 insertions(+) create mode 100644 Code/chadL/html_css/lab2/lab2.html create mode 100644 Code/chadL/html_css/lab2/lab2pic.jpg create mode 100644 Code/chadL/html_css/lab2/lab2stylesheet.css create mode 100644 Code/chadL/html_css/lab5/index.html create mode 100644 Code/chadL/html_css/lab5/stylesheet.css diff --git a/Code/chadL/html_css/lab2/lab2.html b/Code/chadL/html_css/lab2/lab2.html new file mode 100644 index 00000000..064688c7 --- /dev/null +++ b/Code/chadL/html_css/lab2/lab2.html @@ -0,0 +1,58 @@ + + + + + + + Blogboy + + + +
+

My Blog

+ +
+ + + + + + + +
+
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quibusdam, necessitatibus minima! Quas, in eligendi. Incidunt, facere animi. Tempora, mollitia odio eos recusandae laudantium temporibus ullam minus nihil quidem excepturi sint.
+
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Molestiae suscipit qui expedita voluptas, tempore nobis doloremque aut officia odit natus debitis sequi eos id! Mollitia fuga asperiores laudantium eos veritatis!
+
Lorem ipsum dolor sit amet consectetur adipisicing elit. Perspiciatis at possimus beatae, sed amet omnis explicabo, recusandae, minus nisi doloribus commodi? Molestias rem commodi dignissimos neque asperiores suscipit temporibus cumque!
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est nostrum quos alias eum harum natus molestiae modi, ipsum eligendi error aliquid vitae quod deleniti iure, culpa debitis laborum dolorem ullam?
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est nostrum quos alias eum harum natus molestiae modi, ipsum eligendi error aliquid vitae quod deleniti iure, culpa debitis laborum dolorem ullam?
+ +
+
+ + + +
+

~ CHAD ©2022 ~

+
+ + + + + + + diff --git a/Code/chadL/html_css/lab2/lab2pic.jpg b/Code/chadL/html_css/lab2/lab2pic.jpg new file mode 100644 index 00000000..d89808a0 --- /dev/null +++ b/Code/chadL/html_css/lab2/lab2pic.jpg @@ -0,0 +1,3 @@ + +https://www.theparisreview.org/blog/wp-content/uploads/2018/08/caspar_david_friedrich_-_wanderer_above_the_sea_of_fog-1024x776.jpg + diff --git a/Code/chadL/html_css/lab2/lab2stylesheet.css b/Code/chadL/html_css/lab2/lab2stylesheet.css new file mode 100644 index 00000000..3c4868d0 --- /dev/null +++ b/Code/chadL/html_css/lab2/lab2stylesheet.css @@ -0,0 +1,91 @@ + +header { + display:flex ; + justify-content: space-evenly; + flex-direction: column; + align-items: center; + border: 3px solid rgb(36, 114, 97); +} + +.sidebar{ + position: fixed; + left: 0; + width: 200px; + height: 70%; + background: rgb(39, 39, 104) ; + color: rgb(210, 224, 224); + +} +.sidebar header{ + font-size: 22px; + color: white; + text-align: center; + line-height: 70px; + background-color: rgb(12, 105, 105); + user-select: none; + +} +.sidebar ul a{ + display: block; + height: 100%; + width: 100%; + line-height: 65px; + font-size: 20px; + color: white; + padding-left: 20px; + box-sizing: border-box; +} + +.topheader a { +justify-content: space-between; +color:blue; +font-size: 25px; +display: inline-block; + +} + +main{ + min-height: calc(100vh - 100px); + +} + +body{ + padding: 50px; + margin: 50; + min-height: calc(100vh -137px); + + +} +.grid { + display: flex; + flex-direction: unset ; + align-items: center; + flex-wrap: wrap; + justify-content: space-evenly; + border: 4px solid black; + width: 89%; + height: 500px; + float: right; + +} + +.grid div{ + background-color: rgb(201, 127, 31); + border: 2px solid red; + flex-direction: column; + font-size: 16; + text-align: center; + margin: 8px; + width: 300px; + grid-template-columns: 1fr 1fr; +} + +footer{ + background-color: rgb(35, 85, 35); + color: gold; + text-align: center; + position: relative; + bottom: 0; + width: 100%; + +} \ No newline at end of file diff --git a/Code/chadL/html_css/lab5/index.html b/Code/chadL/html_css/lab5/index.html new file mode 100644 index 00000000..8db17111 --- /dev/null +++ b/Code/chadL/html_css/lab5/index.html @@ -0,0 +1,152 @@ + + + + + + + TACO LOCO MOCO + + + + + + +
+ + +

LOCO MOCO TACO

+ +
+ +
+taco + + + + + + +
+ + +
+ + +
+ +
+ +
+
+ +

Tortilla:

+ + +
+ + + +
+ + + +
+ + + +
+
+

Rice:

+ + +
+ + + +
+
+

Beans:

+ + +
+ + + +
+
+

Protien:

+ + +
+ + +
+ + +
+ + +
+ + +
+
+ +

Add-on:

+ + + + + + + + +
+
+ + +
+
+

Leave comments below

+ + +
+ + + + diff --git a/Code/chadL/html_css/lab5/stylesheet.css b/Code/chadL/html_css/lab5/stylesheet.css new file mode 100644 index 00000000..59dbe1a4 --- /dev/null +++ b/Code/chadL/html_css/lab5/stylesheet.css @@ -0,0 +1,57 @@ +body{ + padding: 20px 20px; +} + +header{ + justify-items: center; + border: 2px solid red; + text-align: left; + background-color: rgb(235, 176, 48); + padding: 20px 20px 20px 20px ; + +} + +header h1 { + font-family:monospace; + + color: rgb(51, 119, 96); + font-size: 130px; + font-weight: bold ; + padding: 5vh; + text-decoration: double; + text-shadow: 1px 1px 1px red, + 2px 2px 1px red; +} + + +/* When the checkbox is checked, add a blue background */ +.container input:checked ~ .checkmark { + background-color: #2196F3; + } + +img{ + max-width: 200px; + float: center; + +} + +.img1{ + display: flex; + justify-content: center; + align-items: center; + +} + + + + + + + + + + + + + + From c768ee18019647a46e4451488867d4ffdc187d22 Mon Sep 17 00:00:00 2001 From: Chad lattimer Date: Fri, 6 May 2022 21:19:19 -0700 Subject: [PATCH 6/6] updating a bunch --- Code/chadL/Javascript/lab1/app.js | 28 ++++ Code/chadL/Javascript/lab1/index.html | 17 +++ Code/chadL/django/manage.py | 22 ++++ Code/chadL/django/redo/redo_app/manage.py | 21 +++ .../redo/redo_app/redid_proj/__init__.py | 0 .../django/redo/redo_app/redid_proj/asgi.py | 16 +++ .../redo/redo_app/redid_proj/settings.py | 122 +++++++++++++++++ .../django/redo/redo_app/redid_proj/urls.py | 23 ++++ .../django/redo/redo_app/redid_proj/wsgi.py | 16 +++ .../django/redo/redo_app/redo_app/__init__.py | 0 .../django/redo/redo_app/redo_app/admin.py | 3 + .../django/redo/redo_app/redo_app/apps.py | 6 + .../redo_app/redo_app/migrations/__init__.py | 0 .../django/redo/redo_app/redo_app/models.py | 3 + .../redo_app/templates/redo_app/index.html | 30 +++++ .../django/redo/redo_app/redo_app/tests.py | 3 + .../django/redo/redo_app/redo_app/urls.py | 10 ++ .../django/redo/redo_app/redo_app/views.py | 9 ++ Code/chadL/django/todo/manage.py | 22 ++++ Code/chadL/django/todo/todo/__init__.py | 0 Code/chadL/django/todo/todo/asgi.py | 16 +++ Code/chadL/django/todo/todo/settings.py | 123 ++++++++++++++++++ Code/chadL/django/todo/todo/urls.py | 21 +++ Code/chadL/django/todo/todo/wsgi.py | 16 +++ Code/chadL/django/todo_proj/__init__.py | 0 Code/chadL/django/todo_proj/asgi.py | 16 +++ Code/chadL/django/todo_proj/settings.py | 123 ++++++++++++++++++ Code/chadL/django/todo_proj/urls.py | 21 +++ Code/chadL/django/todo_proj/wsgi.py | 16 +++ Code/chadL/html_css/flaskdemo/app.py | 37 ++++++ .../chadL/html_css/flaskdemo/static/style.css | 0 .../html_css/flaskdemo/templates/about.html | 12 ++ .../flaskdemo/templates/check-grade.html | 18 +++ .../html_css/flaskdemo/templates/contact.html | 12 ++ .../html_css/flaskdemo/templates/index.html | 24 ++++ Code/chadL/html_css/lab1.html | 48 ------- Code/chadL/html_css/lab1pic.jpg | Bin 37724 -> 0 bytes Code/chadL/html_css/lab1style.css | 20 --- Code/chadL/html_css/lab3.html/image.jpg | 1 + Code/chadL/html_css/lab4/lab4.html | 80 ++++++++++++ Code/chadL/html_css/lab4/styles.css | 101 ++++++++++++++ Code/chadL/html_css/lab6/app.py | 9 +- Code/chadL/html_css/lab6/static/styles.css | 11 +- Code/chadL/html_css/lab6/templates/img.jpg | 2 + Code/chadL/html_css/lab6/templates/index.html | 23 ++-- Code/chadL/html_css/lab6v2/app.py | 62 +++++++++ Code/chadL/html_css/lab6v2/index.html | 22 ++++ Code/chadL/html_css/lab6v2/styles.css | 10 ++ Code/hello_app/__init__.py | 0 Code/hello_app/admin.py | 3 + Code/hello_app/apps.py | 6 + Code/hello_app/index.html | 12 ++ Code/hello_app/migrations/__init__.py | 0 Code/hello_app/models.py | 3 + Code/hello_app/templates | 0 Code/hello_app/tests.py | 3 + Code/hello_app/urls.py | 11 ++ Code/hello_app/views.py | 15 +++ Code/kiwi_firstproj/__init__.py | 0 Code/kiwi_firstproj/asgi.py | 16 +++ Code/kiwi_firstproj/settings.py | 123 ++++++++++++++++++ Code/kiwi_firstproj/urls.py | 22 ++++ Code/kiwi_firstproj/wsgi.py | 16 +++ Code/manage.py | 22 ++++ 64 files changed, 1361 insertions(+), 86 deletions(-) create mode 100644 Code/chadL/Javascript/lab1/app.js create mode 100644 Code/chadL/Javascript/lab1/index.html create mode 100644 Code/chadL/django/manage.py create mode 100644 Code/chadL/django/redo/redo_app/manage.py create mode 100644 Code/chadL/django/redo/redo_app/redid_proj/__init__.py create mode 100644 Code/chadL/django/redo/redo_app/redid_proj/asgi.py create mode 100644 Code/chadL/django/redo/redo_app/redid_proj/settings.py create mode 100644 Code/chadL/django/redo/redo_app/redid_proj/urls.py create mode 100644 Code/chadL/django/redo/redo_app/redid_proj/wsgi.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/__init__.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/admin.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/apps.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/migrations/__init__.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/models.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/templates/redo_app/index.html create mode 100644 Code/chadL/django/redo/redo_app/redo_app/tests.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/urls.py create mode 100644 Code/chadL/django/redo/redo_app/redo_app/views.py create mode 100644 Code/chadL/django/todo/manage.py create mode 100644 Code/chadL/django/todo/todo/__init__.py create mode 100644 Code/chadL/django/todo/todo/asgi.py create mode 100644 Code/chadL/django/todo/todo/settings.py create mode 100644 Code/chadL/django/todo/todo/urls.py create mode 100644 Code/chadL/django/todo/todo/wsgi.py create mode 100644 Code/chadL/django/todo_proj/__init__.py create mode 100644 Code/chadL/django/todo_proj/asgi.py create mode 100644 Code/chadL/django/todo_proj/settings.py create mode 100644 Code/chadL/django/todo_proj/urls.py create mode 100644 Code/chadL/django/todo_proj/wsgi.py create mode 100644 Code/chadL/html_css/flaskdemo/app.py create mode 100644 Code/chadL/html_css/flaskdemo/static/style.css create mode 100644 Code/chadL/html_css/flaskdemo/templates/about.html create mode 100644 Code/chadL/html_css/flaskdemo/templates/check-grade.html create mode 100644 Code/chadL/html_css/flaskdemo/templates/contact.html create mode 100644 Code/chadL/html_css/flaskdemo/templates/index.html delete mode 100644 Code/chadL/html_css/lab1.html delete mode 100644 Code/chadL/html_css/lab1pic.jpg delete mode 100644 Code/chadL/html_css/lab1style.css create mode 100644 Code/chadL/html_css/lab3.html/image.jpg create mode 100644 Code/chadL/html_css/lab4/lab4.html create mode 100644 Code/chadL/html_css/lab4/styles.css create mode 100644 Code/chadL/html_css/lab6/templates/img.jpg create mode 100644 Code/chadL/html_css/lab6v2/app.py create mode 100644 Code/chadL/html_css/lab6v2/index.html create mode 100644 Code/chadL/html_css/lab6v2/styles.css create mode 100644 Code/hello_app/__init__.py create mode 100644 Code/hello_app/admin.py create mode 100644 Code/hello_app/apps.py create mode 100644 Code/hello_app/index.html create mode 100644 Code/hello_app/migrations/__init__.py create mode 100644 Code/hello_app/models.py create mode 100644 Code/hello_app/templates create mode 100644 Code/hello_app/tests.py create mode 100644 Code/hello_app/urls.py create mode 100644 Code/hello_app/views.py create mode 100644 Code/kiwi_firstproj/__init__.py create mode 100644 Code/kiwi_firstproj/asgi.py create mode 100644 Code/kiwi_firstproj/settings.py create mode 100644 Code/kiwi_firstproj/urls.py create mode 100644 Code/kiwi_firstproj/wsgi.py create mode 100644 Code/manage.py diff --git a/Code/chadL/Javascript/lab1/app.js b/Code/chadL/Javascript/lab1/app.js new file mode 100644 index 00000000..0a60355e --- /dev/null +++ b/Code/chadL/Javascript/lab1/app.js @@ -0,0 +1,28 @@ +let body = document.body +let unit = prompt('Enter a unit of measure: inches, feet, meters, yards, kilometers, miles') +let number = prompt('Enter number to be converted') +console.log(unit); +console.log(number); + +let values = {"feet": 0.3048, + "miles": 1609.34, + "meters": 1, + "kilometers": 1000, + "yards": 0.9144, + "inch:": 0.0254 +} + + +let unitValue = values[unit]; +let change = unitValue * number; +body.append(`Your input ${unit}, + conversion: ${change} meters.`); + + +document.body.style.backgroundColor = "tan"; + + +document.body.style.font = "italic bold 25px arial,serif"; + + +document.getElementById("border").style.borderTop = "thick solid #0000FF"; \ No newline at end of file diff --git a/Code/chadL/Javascript/lab1/index.html b/Code/chadL/Javascript/lab1/index.html new file mode 100644 index 00000000..3e6748c5 --- /dev/null +++ b/Code/chadL/Javascript/lab1/index.html @@ -0,0 +1,17 @@ + + + + + + + Document + + + +
+

Conversion Calculator

+
+ +

Please enter your unit of measure to convert.

+ + \ No newline at end of file diff --git a/Code/chadL/django/manage.py b/Code/chadL/django/manage.py new file mode 100644 index 00000000..6be564d2 --- /dev/null +++ b/Code/chadL/django/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo_proj.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) + + +if __name__ == '__main__': + main() diff --git a/Code/chadL/django/redo/redo_app/manage.py b/Code/chadL/django/redo/redo_app/manage.py new file mode 100644 index 00000000..f88eaee8 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/manage.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'redo_app.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) + + +if __name__ == '__main__': + main() diff --git a/Code/chadL/django/redo/redo_app/redid_proj/__init__.py b/Code/chadL/django/redo/redo_app/redid_proj/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/django/redo/redo_app/redid_proj/asgi.py b/Code/chadL/django/redo/redo_app/redid_proj/asgi.py new file mode 100644 index 00000000..3f19c680 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redid_proj/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for redo_app project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'redo_app.settings') + +application = get_asgi_application() diff --git a/Code/chadL/django/redo/redo_app/redid_proj/settings.py b/Code/chadL/django/redo/redo_app/redid_proj/settings.py new file mode 100644 index 00000000..0a52bac5 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redid_proj/settings.py @@ -0,0 +1,122 @@ +""" +Django settings for redo_app project. + +Generated by 'django-admin startproject' using Django 3.0.14. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.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/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '=-o)e-!f-@8_)&%h4c7^t4v6&9g6&b@22_nijoya^t_&2t9yrz' + +# 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', + 'redo_app', + 'redid_proj', +] + +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 = 'redo_app.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 = 'redo_app.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.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/3.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/3.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'America/Los_Angeles' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/Code/chadL/django/redo/redo_app/redid_proj/urls.py b/Code/chadL/django/redo/redo_app/redid_proj/urls.py new file mode 100644 index 00000000..91720867 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redid_proj/urls.py @@ -0,0 +1,23 @@ +"""redo_app URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.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 xml.etree.ElementInclude import include +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path(''/ include('redo_app.urls')) +] diff --git a/Code/chadL/django/redo/redo_app/redid_proj/wsgi.py b/Code/chadL/django/redo/redo_app/redid_proj/wsgi.py new file mode 100644 index 00000000..46fb7c1f --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redid_proj/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for redo_app 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/3.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'redo_app.settings') + +application = get_wsgi_application() diff --git a/Code/chadL/django/redo/redo_app/redo_app/__init__.py b/Code/chadL/django/redo/redo_app/redo_app/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/django/redo/redo_app/redo_app/admin.py b/Code/chadL/django/redo/redo_app/redo_app/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Code/chadL/django/redo/redo_app/redo_app/apps.py b/Code/chadL/django/redo/redo_app/redo_app/apps.py new file mode 100644 index 00000000..eb603e82 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class RedoAppConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'redo_app' diff --git a/Code/chadL/django/redo/redo_app/redo_app/migrations/__init__.py b/Code/chadL/django/redo/redo_app/redo_app/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/django/redo/redo_app/redo_app/models.py b/Code/chadL/django/redo/redo_app/redo_app/models.py new file mode 100644 index 00000000..71a83623 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Code/chadL/django/redo/redo_app/redo_app/templates/redo_app/index.html b/Code/chadL/django/redo/redo_app/redo_app/templates/redo_app/index.html new file mode 100644 index 00000000..4dcd4a14 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/templates/redo_app/index.html @@ -0,0 +1,30 @@ + + + + + + + Encryptor + + +

Welcome to redo

+ + What shall we encrypt + +
+
+ {% csrf_token %} +
+ +
+
+ +
+ + + + + + + + \ No newline at end of file diff --git a/Code/chadL/django/redo/redo_app/redo_app/tests.py b/Code/chadL/django/redo/redo_app/redo_app/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Code/chadL/django/redo/redo_app/redo_app/urls.py b/Code/chadL/django/redo/redo_app/redo_app/urls.py new file mode 100644 index 00000000..6dc187ee --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/urls.py @@ -0,0 +1,10 @@ + +from django import views +from django.urls import path, include +from .import views +urlpatterns = [ + + path(''/ views.index, nam='index') + + +] diff --git a/Code/chadL/django/redo/redo_app/redo_app/views.py b/Code/chadL/django/redo/redo_app/redo_app/views.py new file mode 100644 index 00000000..d65c84e9 --- /dev/null +++ b/Code/chadL/django/redo/redo_app/redo_app/views.py @@ -0,0 +1,9 @@ +from django.shortcuts import render +from django.http import HttpResponse + +# Create your views here. +def index(request): + return render(request, 'redo_app/index.html') + +def result(request): + choice = request.GET[''] \ No newline at end of file diff --git a/Code/chadL/django/todo/manage.py b/Code/chadL/django/todo/manage.py new file mode 100644 index 00000000..244b6144 --- /dev/null +++ b/Code/chadL/django/todo/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.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) + + +if __name__ == '__main__': + main() diff --git a/Code/chadL/django/todo/todo/__init__.py b/Code/chadL/django/todo/todo/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/django/todo/todo/asgi.py b/Code/chadL/django/todo/todo/asgi.py new file mode 100644 index 00000000..54e3b5e2 --- /dev/null +++ b/Code/chadL/django/todo/todo/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for todo project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.settings') + +application = get_asgi_application() diff --git a/Code/chadL/django/todo/todo/settings.py b/Code/chadL/django/todo/todo/settings.py new file mode 100644 index 00000000..a16d90a4 --- /dev/null +++ b/Code/chadL/django/todo/todo/settings.py @@ -0,0 +1,123 @@ +""" +Django settings for todo project. + +Generated by 'django-admin startproject' using Django 4.0.3. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-xq88h)2^!f$f-36sllvyd(7w*_8j$lq9ln2onnr42kqnhd99=q' + +# 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', +] + +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 = 'todo.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 = 'todo.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.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/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Code/chadL/django/todo/todo/urls.py b/Code/chadL/django/todo/todo/urls.py new file mode 100644 index 00000000..cf8bb17c --- /dev/null +++ b/Code/chadL/django/todo/todo/urls.py @@ -0,0 +1,21 @@ +"""todo URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.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.contrib import admin +from django.urls import path + +urlpatterns = [ + path('admin/', admin.site.urls), +] diff --git a/Code/chadL/django/todo/todo/wsgi.py b/Code/chadL/django/todo/todo/wsgi.py new file mode 100644 index 00000000..586f90bb --- /dev/null +++ b/Code/chadL/django/todo/todo/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for todo 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/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.settings') + +application = get_wsgi_application() diff --git a/Code/chadL/django/todo_proj/__init__.py b/Code/chadL/django/todo_proj/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/django/todo_proj/asgi.py b/Code/chadL/django/todo_proj/asgi.py new file mode 100644 index 00000000..5a0fd4de --- /dev/null +++ b/Code/chadL/django/todo_proj/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for todo_proj project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo_proj.settings') + +application = get_asgi_application() diff --git a/Code/chadL/django/todo_proj/settings.py b/Code/chadL/django/todo_proj/settings.py new file mode 100644 index 00000000..e639ca3d --- /dev/null +++ b/Code/chadL/django/todo_proj/settings.py @@ -0,0 +1,123 @@ +""" +Django settings for todo_proj project. + +Generated by 'django-admin startproject' using Django 4.0.3. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-i#f=dn0$o7f%4j##^c*=3&j(dlr5qghs17k@eqzesg+5aj$ov6' + +# 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', +] + +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 = 'todo_proj.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 = 'todo_proj.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.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/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Code/chadL/django/todo_proj/urls.py b/Code/chadL/django/todo_proj/urls.py new file mode 100644 index 00000000..74e1f6e9 --- /dev/null +++ b/Code/chadL/django/todo_proj/urls.py @@ -0,0 +1,21 @@ +"""todo_proj URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.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.contrib import admin +from django.urls import path + +urlpatterns = [ + path('admin/', admin.site.urls), +] diff --git a/Code/chadL/django/todo_proj/wsgi.py b/Code/chadL/django/todo_proj/wsgi.py new file mode 100644 index 00000000..5f96a37b --- /dev/null +++ b/Code/chadL/django/todo_proj/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for todo_proj 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/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo_proj.settings') + +application = get_wsgi_application() diff --git a/Code/chadL/html_css/flaskdemo/app.py b/Code/chadL/html_css/flaskdemo/app.py new file mode 100644 index 00000000..10c70857 --- /dev/null +++ b/Code/chadL/html_css/flaskdemo/app.py @@ -0,0 +1,37 @@ +import re +from flask import Flask, render_template, request + +app = Flask(__name__) + + +@app.route('/') +def index(): + name = "chad" + return render_template('index.html') + +if __name__ == "__main__": + app.run() + +# $env:FLASK_APP = "app.py" +# $env:FLASK_ENV = "development" + + +@app.route('/about') +def about(): + return render_template('about.html') + +@app.route('/contact') +def contact(): + return render_template('contact.html') + +@app.route('/check-grade') +def check_grade(): + return render_template('check-grade.html') + + +@app.route('llama', methods=['post']) +def display_name(): + name = request.form['username'] + return render_template('contact.html', name=name) + + diff --git a/Code/chadL/html_css/flaskdemo/static/style.css b/Code/chadL/html_css/flaskdemo/static/style.css new file mode 100644 index 00000000..e69de29b diff --git a/Code/chadL/html_css/flaskdemo/templates/about.html b/Code/chadL/html_css/flaskdemo/templates/about.html new file mode 100644 index 00000000..1c16dd96 --- /dev/null +++ b/Code/chadL/html_css/flaskdemo/templates/about.html @@ -0,0 +1,12 @@ + + + + + + + About + + +

anyone there?

+ + \ No newline at end of file diff --git a/Code/chadL/html_css/flaskdemo/templates/check-grade.html b/Code/chadL/html_css/flaskdemo/templates/check-grade.html new file mode 100644 index 00000000..e5570ad0 --- /dev/null +++ b/Code/chadL/html_css/flaskdemo/templates/check-grade.html @@ -0,0 +1,18 @@ + + + + + + + Document + + +

Grade Checker

+ {% if grade >= 90 %} + +

You got an A

+ + + + + \ No newline at end of file diff --git a/Code/chadL/html_css/flaskdemo/templates/contact.html b/Code/chadL/html_css/flaskdemo/templates/contact.html new file mode 100644 index 00000000..a45b5e6b --- /dev/null +++ b/Code/chadL/html_css/flaskdemo/templates/contact.html @@ -0,0 +1,12 @@ + + + + + + + contact + + + + + \ No newline at end of file diff --git a/Code/chadL/html_css/flaskdemo/templates/index.html b/Code/chadL/html_css/flaskdemo/templates/index.html new file mode 100644 index 00000000..d85faa47 --- /dev/null +++ b/Code/chadL/html_css/flaskdemo/templates/index.html @@ -0,0 +1,24 @@ + + + + + + + Document + + + + + + about + contact + + +
+ + +
+ +

Hello {{ name}}

+ + \ No newline at end of file diff --git a/Code/chadL/html_css/lab1.html b/Code/chadL/html_css/lab1.html deleted file mode 100644 index e23c946d..00000000 --- a/Code/chadL/html_css/lab1.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - Document - - - - -

- Taserface is the up and coming leader of a band of brigands, who will rule the galaxies with fear and respect. -

-Alien guy -
- - Wiki_Button - - - -

-Tazerface has lived in space most of his life. -

- - -
    -
  • eclector
  • -
  • various planets
  • -
  • various Spaceships
  • -
- - - -

- "You're the one what killed those men by leading them down the wrong path.
- Because you're weak and stupid! It's time for the Ravagers to rise once again to glory with a new captain: Taserface!"
- ―Taserface to Yondu Udonta -

- - - - \ No newline at end of file diff --git a/Code/chadL/html_css/lab1pic.jpg b/Code/chadL/html_css/lab1pic.jpg deleted file mode 100644 index dc9a03e0f990d4595fcc4f9ef8256b9a971a3bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37724 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 diff --git a/Code/chadL/html_css/lab1style.css b/Code/chadL/html_css/lab1style.css deleted file mode 100644 index 1760bc95..00000000 --- a/Code/chadL/html_css/lab1style.css +++ /dev/null @@ -1,20 +0,0 @@ -.quote {font-family: fantasy; -font-style: italic; -font-size: 22px; -} - -body {text-align: center; -color: red; -font-size: 12; -} - -p {margin: 50px; -padding: auto; -font-family: monospace; - -} -html{ - background-image: url(https://getwallpapers.com/wallpaper/full/d/d/8/557330.jpg); -} -img {border-radius: 200px} - diff --git a/Code/chadL/html_css/lab3.html/image.jpg b/Code/chadL/html_css/lab3.html/image.jpg new file mode 100644 index 00000000..006a0ff8 --- /dev/null +++ b/Code/chadL/html_css/lab3.html/image.jpg @@ -0,0 +1 @@ +https://magazine.jhsph.edu/sites/default/files/styles/feature_image_og_image/public/Gun-history-3200x1600.jpg?itok=RPdQzj75 \ No newline at end of file diff --git a/Code/chadL/html_css/lab4/lab4.html b/Code/chadL/html_css/lab4/lab4.html new file mode 100644 index 00000000..bffbcb26 --- /dev/null +++ b/Code/chadL/html_css/lab4/lab4.html @@ -0,0 +1,80 @@ + + + + + + + Responsive Design + + + +
+

Class Kiwi

+ +
+
+ +
+
+
+

Title 1

+

+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nihil earum + rerum porro ducimus, rem dolorum, nisi qui possimus, assumenda + quisquam ipsum aliquam nostrum velit exercitationem harum similique. + Dolorem, nostrum sequi. +

+
+
+

Title 2

+

+ Architecto corrupti, veritatis ullam facilis odit nihil, deleniti + soluta accusantium, corporis iste dolore! A itaque deleniti + dignissimos cum, consequuntur natus aliquam nemo ex aut non obcaecati + ipsum perferendis reiciendis exercitationem. +

+
+
+

Title 3

+

+ Pariatur voluptas ratione illo asperiores ad, non fugiat. Harum, saepe + veniam. Facere provident reiciendis odit aliquam repudiandae eligendi. + Ipsa suscipit delectus deleniti officiis quod deserunt asperiores + blanditiis amet corrupti quaerat! +

+
+
+

Title 4

+

+ Culpa quisquam, eos sapiente, aliquid fuga dolorem repudiandae totam, + in molestias iste itaque ipsa! Quod adipisci possimus, natus sunt rem + voluptate odio obcaecati sit nihil suscipit nam harum. Nostrum, rerum. +

+
+
+

Title 5

+

+ Qui odio aspernatur vero voluptatum, similique minus blanditiis et + cupiditate autem quia atque expedita, ducimus sequi, non vel totam ab. + Libero cumque eos assumenda dolorem officia, expedita sint dolorum + itaque! +

+
+
+

Title 6

+

+ Deserunt perspiciatis excepturi ipsum consequatur aperiam quod veniam + distinctio doloribus. Velit, dignissimos sapiente error qui fugit, + ipsam ipsa cupiditate, illum eos expedita odio nesciunt omnis tenetur. + Officiis molestias aliquam quos! +

+
+
+
©2022 Class Kiwi
+ + \ No newline at end of file diff --git a/Code/chadL/html_css/lab4/styles.css b/Code/chadL/html_css/lab4/styles.css new file mode 100644 index 00000000..45da76e4 --- /dev/null +++ b/Code/chadL/html_css/lab4/styles.css @@ -0,0 +1,101 @@ + + +body{ + font-size: 24p ; +display: flex; +flex-direction: column; +justify-content: center; +} + +body>*{ + border: 2px solid red; +} + +h1{ + text-align: center; +} + +.links{ + display: flex; + flex-direction: column; + +} + + +.links > a{ + border: 1px solid black; + background-color: deepskyblue; + margin: 1rem; + box-shadow: inset 0 0 8px 4px black; + padding: .25em 0; + text-align: center; + text-decoration: none; +} + +img{ + width: 100%; + margin-bottom: 1.5em; +} + +main{ + display: flex; + flex-direction: column; + align-items: center; + +} + + + +section{ + border: 1px solid black; + margin-bottom: 1em; + max-width: 54ch; +} +section h1{ + + text-decoration: overline; +} +section p { + text-align: center; +} + + +@media screen and (min-wdth: 768px){ + + .links{ + flex-direction: row; + justify-content: space-evenly; + } +.hero{ + display: flex; + justify-content: space-evenly; +} + + + img{ + width: 75%; +} + +@media screen and (min-width: 1440px){ + header{ + display: flex; + align-items: center; + justify-content: space-between; + } +.links{ + display: block; +} +img{ + max-width: 900px; +} +} +} + +main{ + flex-direction: row; + flex-wrap: wrap; + justify-content: center; +} + + + diff --git a/Code/chadL/html_css/lab6/app.py b/Code/chadL/html_css/lab6/app.py index b92e19dc..0b546c5e 100644 --- a/Code/chadL/html_css/lab6/app.py +++ b/Code/chadL/html_css/lab6/app.py @@ -1,15 +1,14 @@ -from flask import Flask, render_template, request +from flask import Flask, render_template, Request app = Flask(__name__) - @app.route('/') def index(): - #name = "chad" return render_template('index.html') -if __name__ == "__main__": - app.run() + +if __name__ == '__main__': + app.run() # $env:FLASK_APP = "app.py" # $env:FLASK_ENV = "development" diff --git a/Code/chadL/html_css/lab6/static/styles.css b/Code/chadL/html_css/lab6/static/styles.css index 32a790db..238b0289 100644 --- a/Code/chadL/html_css/lab6/static/styles.css +++ b/Code/chadL/html_css/lab6/static/styles.css @@ -1,15 +1,18 @@ -form{ +.code{ justify-content: center; - border: solid red; + border: 3px solid red; width: 100%; display: inline-block; } body{ align-items: center; - border: solid blue; + border:3px solid blue; + background-size: cover; } img{ - border: solid purple; + border:px solid purple; + background-size: cover; + float: right; } \ No newline at end of file diff --git a/Code/chadL/html_css/lab6/templates/img.jpg b/Code/chadL/html_css/lab6/templates/img.jpg new file mode 100644 index 00000000..a91227a4 --- /dev/null +++ b/Code/chadL/html_css/lab6/templates/img.jpg @@ -0,0 +1,2 @@ +https://cdn.pixabay.com/photo/2020/07/02/04/31/matrix-5361690_960_720.png + diff --git a/Code/chadL/html_css/lab6/templates/index.html b/Code/chadL/html_css/lab6/templates/index.html index e58c8d79..49ce5e56 100644 --- a/Code/chadL/html_css/lab6/templates/index.html +++ b/Code/chadL/html_css/lab6/templates/index.html @@ -1,25 +1,30 @@ + Encryptor - - + + + + + -
-
- - +
+ + + - -
+ +
+ ... - + \ No newline at end of file diff --git a/Code/chadL/html_css/lab6v2/app.py b/Code/chadL/html_css/lab6v2/app.py new file mode 100644 index 00000000..0b546c5e --- /dev/null +++ b/Code/chadL/html_css/lab6v2/app.py @@ -0,0 +1,62 @@ +from flask import Flask, render_template, Request + +app = Flask(__name__) + +@app.route('/') +def index(): + return render_template('index.html') + + +if __name__ == '__main__': + app.run() + +# $env:FLASK_APP = "app.py" +# $env:FLASK_ENV = "development" + +#Lab 7: ROT Cipher + +hacker = input("What shall we encypt? ").lower() #ask user for words to encypt + +rot13_dict = { #dictinary of associated letters + "a": "n", + "b": "o", + "c": "p", + "d": "q", + "e": "r", + "f": "s", + "g": "t", + "h": "u", + "i": "v", + "j": "w", + "k": "x", + "l": "y", + "m": "z", + "n": "a", + "o": "b", + "p": "c", + "q": "d", + "r": "e", + "s": "f", + "t": "g", + "u": "h", + "v": "i", + "w": "j", + "x": "k", + "y": "l", + "z": "m", + " ": " " +} + +hacker = list(hacker) #turn input into list + + +def rot_13(hacker): #fucntion to turn input into list. + rot13_list = [] + for letter in hacker: #loop to add appended letter to list + cypher = rot13_dict[letter] + rot13_list.append(cypher) # add cypher to rot13 list + + final_answer = ''.join(rot13_list) # .join seperates everything except the letters. + print(f"Your encrypted code is: {final_answer}") + +rot_13(hacker) \ No newline at end of file diff --git a/Code/chadL/html_css/lab6v2/index.html b/Code/chadL/html_css/lab6v2/index.html new file mode 100644 index 00000000..7577ca7e --- /dev/null +++ b/Code/chadL/html_css/lab6v2/index.html @@ -0,0 +1,22 @@ + + + + + + + Document + + + + +
+
+ + + + + ... + + + + \ No newline at end of file diff --git a/Code/chadL/html_css/lab6v2/styles.css b/Code/chadL/html_css/lab6v2/styles.css new file mode 100644 index 00000000..add3a61f --- /dev/null +++ b/Code/chadL/html_css/lab6v2/styles.css @@ -0,0 +1,10 @@ +body{ + border: 2px solid blue; + align-items: center; + justify-content: center; + display: flex; +} + +img{ + background-image: cover; +} \ No newline at end of file diff --git a/Code/hello_app/__init__.py b/Code/hello_app/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/hello_app/admin.py b/Code/hello_app/admin.py new file mode 100644 index 00000000..8c38f3f3 --- /dev/null +++ b/Code/hello_app/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Code/hello_app/apps.py b/Code/hello_app/apps.py new file mode 100644 index 00000000..37e3c0e4 --- /dev/null +++ b/Code/hello_app/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class HelloAppConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'hello_app' diff --git a/Code/hello_app/index.html b/Code/hello_app/index.html new file mode 100644 index 00000000..228d6781 --- /dev/null +++ b/Code/hello_app/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + +

{{hello}}

+ + \ No newline at end of file diff --git a/Code/hello_app/migrations/__init__.py b/Code/hello_app/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/hello_app/models.py b/Code/hello_app/models.py new file mode 100644 index 00000000..71a83623 --- /dev/null +++ b/Code/hello_app/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Code/hello_app/templates b/Code/hello_app/templates new file mode 100644 index 00000000..e69de29b diff --git a/Code/hello_app/tests.py b/Code/hello_app/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/Code/hello_app/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Code/hello_app/urls.py b/Code/hello_app/urls.py new file mode 100644 index 00000000..f0ab5acc --- /dev/null +++ b/Code/hello_app/urls.py @@ -0,0 +1,11 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('hello', views.hello, name='hello') + + path('bruce', views.bruce, name='bruce') + + path('batman', views.batman, name='batman') + + ] diff --git a/Code/hello_app/views.py b/Code/hello_app/views.py new file mode 100644 index 00000000..c0c8d828 --- /dev/null +++ b/Code/hello_app/views.py @@ -0,0 +1,15 @@ +from django.shortcuts import render +from django.http import HttpResponse +# Create your views here. +def hello(request): + return HttpResponse('

Hello World ') + +def bruce(request): + return HttpResponse("hello Bruce") + +def batman(request): + return render(request, 'hello_app/index.html', {'name':name}) + + + + diff --git a/Code/kiwi_firstproj/__init__.py b/Code/kiwi_firstproj/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/kiwi_firstproj/asgi.py b/Code/kiwi_firstproj/asgi.py new file mode 100644 index 00000000..2fb9383b --- /dev/null +++ b/Code/kiwi_firstproj/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for kiwi_firstproj project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'kiwi_firstproj.settings') + +application = get_asgi_application() diff --git a/Code/kiwi_firstproj/settings.py b/Code/kiwi_firstproj/settings.py new file mode 100644 index 00000000..c6ba16d6 --- /dev/null +++ b/Code/kiwi_firstproj/settings.py @@ -0,0 +1,123 @@ +""" +Django settings for kiwi_firstproj project. + +Generated by 'django-admin startproject' using Django 4.0.3. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-*6)thcvjb&jd1tmmwzg@n1djcvwwm(e)lqgie$d^wah0j29plb' + +# 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', +] + +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 = 'kiwi_firstproj.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 = 'kiwi_firstproj.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.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/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'America/New_York' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Code/kiwi_firstproj/urls.py b/Code/kiwi_firstproj/urls.py new file mode 100644 index 00000000..7ff274e1 --- /dev/null +++ b/Code/kiwi_firstproj/urls.py @@ -0,0 +1,22 @@ +"""kiwi_firstproj URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.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.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('hello/', include('hello_app.urls')) +] diff --git a/Code/kiwi_firstproj/wsgi.py b/Code/kiwi_firstproj/wsgi.py new file mode 100644 index 00000000..8e2b8698 --- /dev/null +++ b/Code/kiwi_firstproj/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for kiwi_firstproj 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/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'kiwi_firstproj.settings') + +application = get_wsgi_application() diff --git a/Code/manage.py b/Code/manage.py new file mode 100644 index 00000000..68d80c8a --- /dev/null +++ b/Code/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'kiwi_firstproj.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) + + +if __name__ == '__main__': + main()