Реализована выдача данных для аккаунта из БД
This commit is contained in:
		
							parent
							
								
									76919f6ba7
								
							
						
					
					
						commit
						93c92562a7
					
				
										
											Binary file not shown.
										
									
								
							|  | @ -36,6 +36,7 @@ REGISTER_REDIRECT_URL = '/' | |||
| 
 | ||||
| INSTALLED_APPS = [ | ||||
|     'main', | ||||
|     'main.templatetags', | ||||
|     'django.contrib.admin', | ||||
|     'django.contrib.auth', | ||||
|     '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. | ||||
| class User(AbstractUser): | ||||
|     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' %} | ||||
| {% load static %} | ||||
| {% load set_var %} | ||||
| 
 | ||||
| {% block maincontent %} | ||||
| <section class="main-content workout-main-content" id="main-content"> | ||||
| 	<h1 class="page-title">Программа тренировок</h1> | ||||
| 	{% if user.is_authenticated %} | ||||
| 		<p class="content-text">Раздел в разработке!</p> | ||||
| 		<div class="nickname-form"> | ||||
| 			<p class="content-text">Для просмотра иформации введите ник:</p> | ||||
| 			<input id="nickname-input" name="nickname-input" type="text" class="nickname-input"></input> | ||||
| 		{% if tw1 and tw2 %} | ||||
| 			<table id='wt1' class="workout-table" style="display:block"> | ||||
| 				{% if tw1 %} | ||||
| 					{% 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> | ||||
| 			<button id='nick-btn' class="nickname-button">Показать</button> | ||||
| 		</div> | ||||
| 		<table id='wt1' class="workout-table"> | ||||
| 		</table> | ||||
| 		<br> | ||||
| 		<table id='wt2' class="workout-table"> | ||||
| 		</table> | ||||
| 			<table id='wt2' class="workout-table" style="display: block"> | ||||
| 				{% if tw2 %} | ||||
| 					{% with '0' as prevdate %} | ||||
| 							{% for row in tw2 %} | ||||
| 								{% 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> | ||||
| 		{% else %} | ||||
| 			<p class="content-text">Записей нет</p> | ||||
| 		{% endif %} | ||||
| 	{% else %} | ||||
| 	<p class="content-text">Для просмотра информации войдите или зарегистрируйтесь!</p> | ||||
| 		<p class="content-text">Для просмотра информации войдите или зарегистрируйтесь!</p> | ||||
| 	{% endif %} | ||||
| </section> | ||||
| {% 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 | ||||
| from django.contrib.auth import authenticate | ||||
| from django.shortcuts import render, redirect | ||||
|  | @ -21,7 +28,13 @@ def mychat(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): | ||||
|  | @ -53,8 +66,18 @@ class Register(View): | |||
|             password = form.cleaned_data.get('password1') | ||||
|             user = authenticate(username=username, password=password) | ||||
|             django.contrib.auth.login(request, user) | ||||
|             return redirect('home') | ||||
|             return redirect('/') | ||||
|         context = { | ||||
|             '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