Compare commits

...

5 Commits

Author SHA1 Message Date
2b54e70f1b
add views 2022-09-09 08:28:57 +05:30
2d050c10f4
admin modifiable app 2022-09-09 08:11:44 +05:30
47cf518b3d
test admin user 2022-09-09 08:09:14 +05:30
80f1d1ac95
models and funcs 2022-09-09 08:06:49 +05:30
5af10e2abf
gitignore 2022-09-09 07:51:19 +05:30
7 changed files with 96 additions and 3 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
env/ env/
.vscode .vscode
__pycache__ __pycache__
db.sqlite3
.env

Binary file not shown.

View File

@ -1,3 +1,5 @@
from django.contrib import admin from django.contrib import admin
# Register your models here. from .models import Question
admin.site.register(Question)

View File

@ -0,0 +1,52 @@
# Generated by Django 4.1 on 2022-09-09 02:24
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Question",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("question_text", models.CharField(max_length=200)),
("pub_date", models.DateTimeField(verbose_name="date published")),
],
),
migrations.CreateModel(
name="Choice",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("choice_text", models.CharField(max_length=200)),
("votes", models.IntegerField(default=0)),
(
"question",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, to="polls.question"
),
),
],
),
]

View File

@ -1,3 +1,22 @@
import datetime
from django.db import models from django.db import models
from django.utils import timezone
# Create your models here. class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __str__(self):
return self.choice_text

View File

@ -4,4 +4,12 @@ from . import views
urlpatterns = [ urlpatterns = [
path('', views.index, name='index'), path('', views.index, name='index'),
# ex: /polls/
path('', views.index, name='index'),
# ex: /polls/5/
path('<int:question_id>/', views.detail, name='detail'),
# ex: /polls/5/results/
path('<int:question_id>/results/', views.results, name='results'),
# ex: /polls/5/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),
] ]

View File

@ -6,3 +6,13 @@ from django.http import HttpResponse
def index(request): def index(request):
return HttpResponse("Hello, world. You're at the polls index.") return HttpResponse("Hello, world. You're at the polls index.")
def detail(request, question_id):
return HttpResponse("You're looking at question %s." % question_id)
def results(request, question_id):
response = "You're looking at the results of question %s."
return HttpResponse(response % question_id)
def vote(request, question_id):
return HttpResponse("You're voting on question %s." % question_id)