Skip to content

Commit 7d58200

Browse files
Matthew HolmesMatthew Holmes
authored andcommitted
adding lab 03.. almost finished'
1 parent 7437a23 commit 7d58200

File tree

16 files changed

+345
-0
lines changed

16 files changed

+345
-0
lines changed

Code/matthew/django/labs/03_grocery_list/grocery_list/grocery_app/__init__.py

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from django.contrib import admin
2+
from . models import List
3+
4+
# Register your models here.
5+
6+
admin.site.register(List)
7+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class GroceryAppConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'grocery_app'
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Generated by Django 4.0.3 on 2022-03-31 04:04
2+
3+
from django.conf import settings
4+
from django.db import migrations, models
5+
import django.db.models.deletion
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
initial = True
11+
12+
dependencies = [
13+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14+
]
15+
16+
operations = [
17+
migrations.CreateModel(
18+
name='List',
19+
fields=[
20+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
21+
('new', models.CharField(max_length=50)),
22+
('date', models.DateTimeField(auto_now=True)),
23+
('delete', models.BooleanField(default=False)),
24+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
25+
],
26+
),
27+
]

Code/matthew/django/labs/03_grocery_list/grocery_list/grocery_app/migrations/__init__.py

Whitespace-only changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
from django.db import models
3+
from django.contrib.auth.models import User
4+
5+
# Create your models here.
6+
7+
class List(models.Model):
8+
new= models.CharField( max_length=50)
9+
# '%m/%d/%Y'
10+
date= models.DateField( auto_now=True)
11+
user= models.ForeignKey(User, on_delete= models.CASCADE)
12+
delete= models.BooleanField(default=False)
13+
14+
def __str__(self):
15+
return F"{self.new}: {self.date}"
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Grocery list</title>
8+
</head>
9+
<body>
10+
<div>
11+
<!-- {{new}}: adds item to grocery list -->
12+
<form action="{% url 'save' %}" method="POST">
13+
{{new}}
14+
{% csrf_token %}
15+
<button type="submit">Submit</button>
16+
</form>
17+
</div>
18+
<br>
19+
<div>
20+
{% for i in folder %}
21+
<ul>
22+
{% comment %} {{i}} {% endcomment %}
23+
{% if i.delete == False %}
24+
<form action="">
25+
<label for="1">{{i}}</label>
26+
<input type="radio" name="1" id="">
27+
</form>
28+
<!-- {{i}} -->
29+
{% endif %}
30+
</ul>
31+
{% endfor %}
32+
</div>
33+
</body>
34+
</html>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""grocery_app URL Configuration
2+
3+
Examples:
4+
Function views
5+
1. Add an import: from my_app import views
6+
2. Add a URL to urlpatterns: path('', views.home, name='home')
7+
8+
"""
9+
from . import views
10+
from django.urls import path
11+
12+
urlpatterns = [
13+
# /list
14+
path('list/', views.home, name='home' ),
15+
path('save/', views.save, name='save' )
16+
]
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from hashlib import new
2+
from django.shortcuts import render
3+
from django import forms
4+
from django.http import HttpResponseRedirect
5+
from django.urls import reverse
6+
from . models import List
7+
8+
# Create your views here.
9+
class new_list(forms.Form):
10+
text= forms.CharField(label='',widget=forms.TextInput(
11+
attrs={'placeholder': 'Add new item'}), max_length=10)
12+
13+
14+
def home(request):
15+
# folder= List.objects.all().order_by('date')
16+
folder= List.objects.filter(delete= False).order_by('-date')
17+
context= {
18+
"new": new_list(),
19+
'folder': folder
20+
}
21+
return render(request, "grocery_app/index.html", context)
22+
23+
def save(request):
24+
if request.method == 'POST':
25+
form= new_list(request.POST)
26+
if form.is_valid():
27+
text= form.cleaned_data['text']
28+
user= request.user
29+
30+
list= List()
31+
list.new= text
32+
list.user= user
33+
list.save()
34+
return HttpResponseRedirect(reverse('home'))
35+

0 commit comments

Comments
 (0)