Реализована выдача данных для аккаунта из БД
This commit is contained in:
parent
76919f6ba7
commit
93c92562a7
Binary file not shown.
|
@ -36,6 +36,7 @@ REGISTER_REDIRECT_URL = '/'
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
'main',
|
'main',
|
||||||
|
'main.templatetags',
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
'django.contrib.contenttypes',
|
'django.contrib.contenttypes',
|
||||||
|
|
Binary file not shown.
Binary file not shown.
250
main/models.py
250
main/models.py
|
@ -5,3 +5,253 @@ from django.db import models
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class User(AbstractUser):
|
class User(AbstractUser):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class AuthGroup(models.Model):
|
||||||
|
name = models.CharField(unique=True, max_length=150)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'auth_group'
|
||||||
|
|
||||||
|
|
||||||
|
class AuthGroupPermissions(models.Model):
|
||||||
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
group = models.ForeignKey(AuthGroup, models.DO_NOTHING)
|
||||||
|
permission = models.ForeignKey('AuthPermission', models.DO_NOTHING)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'auth_group_permissions'
|
||||||
|
unique_together = (('group', 'permission'),)
|
||||||
|
|
||||||
|
|
||||||
|
class AuthPermission(models.Model):
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
content_type = models.ForeignKey('DjangoContentType', models.DO_NOTHING)
|
||||||
|
codename = models.CharField(max_length=100)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'auth_permission'
|
||||||
|
unique_together = (('content_type', 'codename'),)
|
||||||
|
|
||||||
|
|
||||||
|
class Dates(models.Model):
|
||||||
|
id = models.IntegerField(primary_key=True)
|
||||||
|
date = models.CharField(max_length=45)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'dates'
|
||||||
|
|
||||||
|
|
||||||
|
class Days(models.Model):
|
||||||
|
days_id = models.AutoField(primary_key=True)
|
||||||
|
day_name = models.CharField(max_length=45)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'days'
|
||||||
|
|
||||||
|
|
||||||
|
class DjangoAdminLog(models.Model):
|
||||||
|
action_time = models.DateTimeField()
|
||||||
|
object_id = models.TextField(blank=True, null=True)
|
||||||
|
object_repr = models.CharField(max_length=200)
|
||||||
|
action_flag = models.PositiveSmallIntegerField()
|
||||||
|
change_message = models.TextField()
|
||||||
|
content_type = models.ForeignKey('DjangoContentType', models.DO_NOTHING, blank=True, null=True)
|
||||||
|
user = models.ForeignKey('MainUser', models.DO_NOTHING)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'django_admin_log'
|
||||||
|
|
||||||
|
|
||||||
|
class DjangoContentType(models.Model):
|
||||||
|
app_label = models.CharField(max_length=100)
|
||||||
|
model = models.CharField(max_length=100)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'django_content_type'
|
||||||
|
unique_together = (('app_label', 'model'),)
|
||||||
|
|
||||||
|
|
||||||
|
class DjangoMigrations(models.Model):
|
||||||
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
app = models.CharField(max_length=255)
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
applied = models.DateTimeField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'django_migrations'
|
||||||
|
|
||||||
|
|
||||||
|
class DjangoSession(models.Model):
|
||||||
|
session_key = models.CharField(primary_key=True, max_length=40)
|
||||||
|
session_data = models.TextField()
|
||||||
|
expire_date = models.DateTimeField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'django_session'
|
||||||
|
|
||||||
|
|
||||||
|
class Exercises(models.Model):
|
||||||
|
exercises_id = models.AutoField(primary_key=True)
|
||||||
|
exercise_name = models.CharField(max_length=255)
|
||||||
|
muscle_group = models.ForeignKey('MuscleGroup', models.DO_NOTHING, db_column='muscle_group')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'exercises'
|
||||||
|
|
||||||
|
|
||||||
|
class MainUser(models.Model):
|
||||||
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
password = models.CharField(max_length=128)
|
||||||
|
last_login = models.DateTimeField(blank=True, null=True)
|
||||||
|
is_superuser = models.IntegerField()
|
||||||
|
username = models.CharField(unique=True, max_length=150)
|
||||||
|
first_name = models.CharField(max_length=150)
|
||||||
|
last_name = models.CharField(max_length=150)
|
||||||
|
email = models.CharField(max_length=254)
|
||||||
|
is_staff = models.IntegerField()
|
||||||
|
is_active = models.IntegerField()
|
||||||
|
date_joined = models.DateTimeField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'main_user'
|
||||||
|
|
||||||
|
|
||||||
|
class MainUserGroups(models.Model):
|
||||||
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
user = models.ForeignKey(MainUser, models.DO_NOTHING)
|
||||||
|
group = models.ForeignKey(AuthGroup, models.DO_NOTHING)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'main_user_groups'
|
||||||
|
unique_together = (('user', 'group'),)
|
||||||
|
|
||||||
|
|
||||||
|
class MainUserUserPermissions(models.Model):
|
||||||
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
user = models.ForeignKey(MainUser, models.DO_NOTHING)
|
||||||
|
permission = models.ForeignKey(AuthPermission, models.DO_NOTHING)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'main_user_user_permissions'
|
||||||
|
unique_together = (('user', 'permission'),)
|
||||||
|
|
||||||
|
|
||||||
|
class MuscleGroup(models.Model):
|
||||||
|
muscle_group_id = models.AutoField(primary_key=True)
|
||||||
|
muscle_group_name = models.CharField(max_length=255)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'muscle_group'
|
||||||
|
|
||||||
|
|
||||||
|
class Users(models.Model):
|
||||||
|
user = models.CharField(primary_key=True, max_length=30)
|
||||||
|
password = models.CharField(max_length=255)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'users'
|
||||||
|
|
||||||
|
|
||||||
|
class VExercises(models.Model):
|
||||||
|
exercise_name = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
muscle_group_name = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False # Created from a view. Don't remove.
|
||||||
|
db_table = 'v_exercises'
|
||||||
|
|
||||||
|
|
||||||
|
class VWorkoutTasksAll(models.Model):
|
||||||
|
task_id = models.IntegerField()
|
||||||
|
user = models.CharField(max_length=30, db_collation='utf8mb4_unicode_ci')
|
||||||
|
day_name = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
week = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
exercise = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
sets_count = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
weigth = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
muscle_group_name = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
date = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False # Created from a view. Don't remove.
|
||||||
|
db_table = 'v_workout_tasks_all'
|
||||||
|
|
||||||
|
|
||||||
|
class VWorkoutTasksW1(models.Model):
|
||||||
|
objects = models.Manager()
|
||||||
|
task_id = models.IntegerField(primary_key=True)
|
||||||
|
user = models.CharField(max_length=30, db_collation='utf8mb4_unicode_ci')
|
||||||
|
day_name = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
week = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
exercise = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
sets_count = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
weigth = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
muscle_group_name = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
date = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
|
||||||
|
def ___str___(self):
|
||||||
|
return self.task_id
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False # Created from a view. Don't remove.
|
||||||
|
db_table = 'v_workout_tasks_w1'
|
||||||
|
|
||||||
|
|
||||||
|
class VWorkoutTasksW2(models.Model):
|
||||||
|
objects = models.Manager()
|
||||||
|
task_id = models.IntegerField(primary_key=True)
|
||||||
|
user = models.CharField(max_length=30, db_collation='utf8mb4_unicode_ci')
|
||||||
|
day_name = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
week = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
exercise = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
sets_count = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
weigth = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
muscle_group_name = models.CharField(max_length=255, db_collation='utf8mb4_unicode_ci')
|
||||||
|
date = models.CharField(max_length=45, db_collation='utf8mb4_unicode_ci')
|
||||||
|
|
||||||
|
def ___str___(self):
|
||||||
|
return self.task_id
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False # Created from a view. Don't remove.
|
||||||
|
db_table = 'v_workout_tasks_w2'
|
||||||
|
|
||||||
|
|
||||||
|
class Weeks(models.Model):
|
||||||
|
id = models.IntegerField(primary_key=True)
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'weeks'
|
||||||
|
|
||||||
|
|
||||||
|
class WorkoutTasks(models.Model):
|
||||||
|
task_id = models.AutoField(primary_key=True)
|
||||||
|
user_name = models.ForeignKey(Users, models.DO_NOTHING, db_column='user_name')
|
||||||
|
exercise = models.ForeignKey(Exercises, models.DO_NOTHING, db_column='exercise')
|
||||||
|
sets_count = models.CharField(max_length=255)
|
||||||
|
weigth = models.CharField(max_length=255)
|
||||||
|
day = models.ForeignKey(Days, models.DO_NOTHING, db_column='day')
|
||||||
|
week = models.IntegerField()
|
||||||
|
date = models.IntegerField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'workout_tasks'
|
||||||
|
|
|
@ -1,24 +1,116 @@
|
||||||
{% extends 'main/temp.html' %}
|
{% extends 'main/temp.html' %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
{% load set_var %}
|
||||||
|
|
||||||
{% block maincontent %}
|
{% block maincontent %}
|
||||||
<section class="main-content workout-main-content" id="main-content">
|
<section class="main-content workout-main-content" id="main-content">
|
||||||
<h1 class="page-title">Программа тренировок</h1>
|
<h1 class="page-title">Программа тренировок</h1>
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<p class="content-text">Раздел в разработке!</p>
|
{% if tw1 and tw2 %}
|
||||||
<div class="nickname-form">
|
<table id='wt1' class="workout-table" style="display:block">
|
||||||
<p class="content-text">Для просмотра иформации введите ник:</p>
|
{% if tw1 %}
|
||||||
<input id="nickname-input" name="nickname-input" type="text" class="nickname-input"></input>
|
{% with '0' as prevdate %}
|
||||||
|
{% for row in tw1 %}
|
||||||
|
{% if forloop.first %}
|
||||||
|
<tr>
|
||||||
|
<td class="table-head-top" colspan="5">
|
||||||
|
<b>{{ row.week }}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="odd">
|
||||||
|
<td class="exercise-head" id="exercise-head">
|
||||||
|
<strong>Упражнение</strong>
|
||||||
|
</td>
|
||||||
|
<td class="muscle-group-head" id="muscle-group-head">
|
||||||
|
<strong>Группа мышц</strong>
|
||||||
|
</td>
|
||||||
|
<td class="count-head" id="count-head">
|
||||||
|
<strong>Время/подходы</strong>
|
||||||
|
</td>
|
||||||
|
<td class="leha" id="leha">
|
||||||
|
<strong>Вес</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if prevdate == row.date %}
|
||||||
|
{% else %}
|
||||||
|
<tr>
|
||||||
|
<td class="table-head" colspan="5">
|
||||||
|
<b class="day-name">[{{row.date}}] {{row.day_name}}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% update_variable row.date as prevdate %}
|
||||||
|
{% endif %}
|
||||||
|
<tr class="{% if forloop.counter|divisibleby:2 %}odd{% else %}even{% endif %}">
|
||||||
|
<td class="exercise">{{ row.exercise }}</td>
|
||||||
|
<td class="muscle-group">{{ row.muscle_group_name }}</td>
|
||||||
|
<td class="count">{{ row.sets_count }}</td>
|
||||||
|
<td class="l-prim">{{ row.weigth }}</td>
|
||||||
|
</tr>
|
||||||
|
{% update_variable row.date as prevdate %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endwith %}
|
||||||
|
{% else %}
|
||||||
|
<tr>
|
||||||
|
<td>Записей нет</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<button id='nick-btn' class="nickname-button">Показать</button>
|
<table id='wt2' class="workout-table" style="display: block">
|
||||||
</div>
|
{% if tw2 %}
|
||||||
<table id='wt1' class="workout-table">
|
{% with '0' as prevdate %}
|
||||||
</table>
|
{% for row in tw2 %}
|
||||||
<br>
|
{% if forloop.first %}
|
||||||
<table id='wt2' class="workout-table">
|
<tr>
|
||||||
</table>
|
<td class="table-head-top" colspan="5">
|
||||||
|
<b>{{ row.week }}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="odd">
|
||||||
|
<td class="exercise-head" id="exercise-head">
|
||||||
|
<strong>Упражнение</strong>
|
||||||
|
</td>
|
||||||
|
<td class="muscle-group-head" id="muscle-group-head">
|
||||||
|
<strong>Группа мышц</strong>
|
||||||
|
</td>
|
||||||
|
<td class="count-head" id="count-head">
|
||||||
|
<strong>Время/подходы</strong>
|
||||||
|
</td>
|
||||||
|
<td class="leha" id="leha">
|
||||||
|
<strong>Вес</strong>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if prevdate == row.date %}
|
||||||
|
{% else %}
|
||||||
|
<tr>
|
||||||
|
<td class="table-head" colspan="5">
|
||||||
|
<b class="day-name">[{{row.date}}] {{row.day_name}}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% update_variable row.date as prevdate %}
|
||||||
|
{% endif %}
|
||||||
|
<tr class="{% if forloop.counter|divisibleby:2 %}odd{% else %}even{% endif %}">
|
||||||
|
<td class="exercise">{{ row.exercise }}</td>
|
||||||
|
<td class="muscle-group">{{ row.muscle_group_name }}</td>
|
||||||
|
<td class="count">{{ row.sets_count }}</td>
|
||||||
|
<td class="l-prim">{{ row.weigth }}</td>
|
||||||
|
</tr>
|
||||||
|
{% update_variable row.date as prevdate %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endwith %}
|
||||||
|
{% else %}
|
||||||
|
<tr>
|
||||||
|
<td>Записей нет</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</table>
|
||||||
|
{% else %}
|
||||||
|
<p class="content-text">Записей нет</p>
|
||||||
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="content-text">Для просмотра информации войдите или зарегистрируйтесь!</p>
|
<p class="content-text">Для просмотра информации войдите или зарегистрируйтесь!</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</section>
|
</section>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,7 @@
|
||||||
|
from django import template
|
||||||
|
register = template.Library()
|
||||||
|
|
||||||
|
@register.simple_tag
|
||||||
|
def update_variable(value):
|
||||||
|
"""Allows to update existing variable in template"""
|
||||||
|
return value
|
|
@ -1,3 +1,10 @@
|
||||||
|
import django as django
|
||||||
|
from django import setup
|
||||||
|
from django.views.generic import ListView
|
||||||
|
|
||||||
|
django.setup()
|
||||||
|
from main.models import VWorkoutTasksW1, VWorkoutTasksW2
|
||||||
|
|
||||||
import django.contrib.auth
|
import django.contrib.auth
|
||||||
from django.contrib.auth import authenticate
|
from django.contrib.auth import authenticate
|
||||||
from django.shortcuts import render, redirect
|
from django.shortcuts import render, redirect
|
||||||
|
@ -21,7 +28,13 @@ def mychat(request):
|
||||||
|
|
||||||
|
|
||||||
def workout(request):
|
def workout(request):
|
||||||
return render(request, 'main/workout.html')
|
if request.user.is_authenticated:
|
||||||
|
tw1 = VWorkoutTasksW1.objects.filter(user=request.user.username)
|
||||||
|
tw2 = VWorkoutTasksW2.objects.filter(user=request.user.username)
|
||||||
|
data = {'tw1' : tw1, 'tw2': tw2}
|
||||||
|
return render(request, 'main/workout.html', context=data)
|
||||||
|
else:
|
||||||
|
return render(request, 'main/workout.html')
|
||||||
|
|
||||||
|
|
||||||
def login(request):
|
def login(request):
|
||||||
|
@ -53,8 +66,18 @@ class Register(View):
|
||||||
password = form.cleaned_data.get('password1')
|
password = form.cleaned_data.get('password1')
|
||||||
user = authenticate(username=username, password=password)
|
user = authenticate(username=username, password=password)
|
||||||
django.contrib.auth.login(request, user)
|
django.contrib.auth.login(request, user)
|
||||||
return redirect('home')
|
return redirect('/')
|
||||||
context = {
|
context = {
|
||||||
'form': form
|
'form': form
|
||||||
}
|
}
|
||||||
return render(request, self.template_name, context)
|
return render(request, self.template_name, context)
|
||||||
|
|
||||||
|
class tw1view(ListView):
|
||||||
|
model = VWorkoutTasksW1
|
||||||
|
template_name = 'main/workout.html'
|
||||||
|
context_object_name = 'tw1'
|
||||||
|
|
||||||
|
class tw2view(ListView):
|
||||||
|
model = VWorkoutTasksW2
|
||||||
|
template_name = 'main/workout.html'
|
||||||
|
context_object_name = 'tw2'
|
Loading…
Reference in New Issue