commit
bbf5df952e
24 changed files with 1202 additions and 121 deletions
@ -0,0 +1,11 @@ |
|||||||
|
import django_filters |
||||||
|
|
||||||
|
from .models import Course |
||||||
|
|
||||||
|
|
||||||
|
class CourseFilter(django_filters.FilterSet): |
||||||
|
category = django_filters.CharFilter(field_name='category__title', lookup_expr='iexact') |
||||||
|
|
||||||
|
class Meta: |
||||||
|
model = Course |
||||||
|
fields = ['category'] |
||||||
@ -0,0 +1,285 @@ |
|||||||
|
[ |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 1, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 2, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:04:41.113Z", |
||||||
|
"update_at": "2018-01-27T07:12:04.168Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 2, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 1, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.437Z", |
||||||
|
"update_at": "2018-01-27T07:11:55.373Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 3, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 9, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.442Z", |
||||||
|
"update_at": "2018-01-27T07:11:43.838Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 4, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 8, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.445Z", |
||||||
|
"update_at": "2018-01-27T07:11:35.342Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 5, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 7, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.449Z", |
||||||
|
"update_at": "2018-01-27T07:11:26.725Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 6, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 6, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.452Z", |
||||||
|
"update_at": "2018-01-27T07:11:15.061Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 7, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 5, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.455Z", |
||||||
|
"update_at": "2018-01-27T07:11:03.583Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 8, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 4, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.458Z", |
||||||
|
"update_at": "2018-01-27T07:10:52.322Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 9, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 3, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.461Z", |
||||||
|
"update_at": "2018-01-27T07:10:42.721Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 10, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 2, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.464Z", |
||||||
|
"update_at": "2018-01-27T07:10:33.374Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.course", |
||||||
|
"pk": 11, |
||||||
|
"fields": { |
||||||
|
"author": 1, |
||||||
|
"title": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u0443\u0440\u0441 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438", |
||||||
|
"short_description": "\u042d\u0442\u043e\u0442 \u043a\u0443\u0440\u0441 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u044f\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u043e\u0440\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0435\u043b\u044b\u0439 \u0438 \u0445\u0430\u0440\u0438\u0437\u043c\u0430\u0442\u0438\u0447\u043d\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u0439.", |
||||||
|
"cover": "courses/pic-1_sTaZawQ.jpg", |
||||||
|
"price": "50.00", |
||||||
|
"is_infinite": false, |
||||||
|
"deferred_start_at": null, |
||||||
|
"category": 1, |
||||||
|
"duration": 1, |
||||||
|
"is_featured": false, |
||||||
|
"url": "https://gitlab.com/", |
||||||
|
"status": 0, |
||||||
|
"created_at": "2018-01-27T07:09:03.467Z", |
||||||
|
"update_at": "2018-01-27T07:09:03.467Z" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 1, |
||||||
|
"fields": { |
||||||
|
"title": "\u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 2, |
||||||
|
"fields": { |
||||||
|
"title": "\u0430\u043a\u0432\u0430\u0440\u0435\u043b\u044c" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 3, |
||||||
|
"fields": { |
||||||
|
"title": "\u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 4, |
||||||
|
"fields": { |
||||||
|
"title": "\u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 5, |
||||||
|
"fields": { |
||||||
|
"title": "\u043f\u0430\u0441\u0442\u0435\u043b\u044c" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 6, |
||||||
|
"fields": { |
||||||
|
"title": "\u043f\u043b\u0430\u0441\u0442\u0438\u043b\u0438\u043d" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 7, |
||||||
|
"fields": { |
||||||
|
"title": "\u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043c\u044b\u0448\u043b\u0435\u043d\u0438\u0435" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 8, |
||||||
|
"fields": { |
||||||
|
"title": "\u043c\u043e\u0442\u043e\u0440\u0438\u043a\u0430" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"model": "course.category", |
||||||
|
"pk": 9, |
||||||
|
"fields": { |
||||||
|
"title": "\u0436\u0438\u0432\u043e\u043f\u0438\u0441\u044c" |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
@ -0,0 +1,73 @@ |
|||||||
|
# Generated by Django 2.0.1 on 2018-01-26 13:25 |
||||||
|
|
||||||
|
from django.conf import settings |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
||||||
|
('course', '0001_initial'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AlterModelOptions( |
||||||
|
name='category', |
||||||
|
options={'verbose_name': 'Категория', 'verbose_name_plural': 'Категории'}, |
||||||
|
), |
||||||
|
migrations.AlterModelManagers( |
||||||
|
name='category', |
||||||
|
managers=[ |
||||||
|
], |
||||||
|
), |
||||||
|
migrations.RenameField( |
||||||
|
model_name='course', |
||||||
|
old_name='background', |
||||||
|
new_name='cover', |
||||||
|
), |
||||||
|
migrations.RenameField( |
||||||
|
model_name='course', |
||||||
|
old_name='deferred_start', |
||||||
|
new_name='deferred_start_at', |
||||||
|
), |
||||||
|
migrations.RenameField( |
||||||
|
model_name='course', |
||||||
|
old_name='is_highlighted', |
||||||
|
new_name='is_featured', |
||||||
|
), |
||||||
|
migrations.RemoveField( |
||||||
|
model_name='course', |
||||||
|
name='created_at', |
||||||
|
), |
||||||
|
migrations.RemoveField( |
||||||
|
model_name='course', |
||||||
|
name='update_at', |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='author', |
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='duration', |
||||||
|
field=models.IntegerField(default=0, verbose_name='Продолжительность курса'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='is_infinite', |
||||||
|
field=models.BooleanField(default=False), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='status', |
||||||
|
field=models.PositiveSmallIntegerField(choices=[(0, 'Pending'), (1, 'Published'), (2, 'Archived')], default=0, verbose_name='Статус'), |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='url', |
||||||
|
field=models.URLField(default='', verbose_name='Ссылка'), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
# Generated by Django 2.0.1 on 2018-01-26 13:47 |
||||||
|
|
||||||
|
from django.db import migrations, models |
||||||
|
import django.utils.timezone |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('course', '0002_auto_20180126_1325'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='created_at', |
||||||
|
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), |
||||||
|
preserve_default=False, |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='course', |
||||||
|
name='update_at', |
||||||
|
field=models.DateTimeField(auto_now=True), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,5 @@ |
|||||||
|
{% for category in category_items %} |
||||||
|
<a class="header__link" href="{% url 'courses' %}?category={{ category.title }}"> |
||||||
|
<div class="header__title">{{ category.title }}</div> |
||||||
|
</a> |
||||||
|
{% endfor %} |
||||||
@ -0,0 +1,34 @@ |
|||||||
|
[ |
||||||
|
{ |
||||||
|
"model": "user.user", |
||||||
|
"pk": 1, |
||||||
|
"fields": { |
||||||
|
"password": "pbkdf2_sha256$100000$HoGxjmAQy4yo$3u+CrUiFtooddpg16OEUaSSjqUlwgFUBP1gt75hEoJs=", |
||||||
|
"last_login": "2018-01-28T08:41:44.702Z", |
||||||
|
"is_superuser": true, |
||||||
|
"username": "admin@lil.city", |
||||||
|
"first_name": "", |
||||||
|
"last_name": "", |
||||||
|
"is_staff": true, |
||||||
|
"is_active": true, |
||||||
|
"date_joined": "2018-01-28T08:41:19.690Z", |
||||||
|
"email": "admin@lil.city", |
||||||
|
"role": 0, |
||||||
|
"gender": "", |
||||||
|
"country": "", |
||||||
|
"city": "", |
||||||
|
"about": "", |
||||||
|
"instagram": "", |
||||||
|
"facebook": "", |
||||||
|
"twitter": "", |
||||||
|
"pinterest": "", |
||||||
|
"youtube": "", |
||||||
|
"vkontakte": "", |
||||||
|
"fb_id": null, |
||||||
|
"fb_data": {}, |
||||||
|
"is_email_proved": false, |
||||||
|
"groups": [], |
||||||
|
"user_permissions": [] |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
@ -1,27 +1,35 @@ |
|||||||
from django.db import models |
from django.db import models |
||||||
from django.contrib.auth import get_user_model |
|
||||||
from django.contrib.auth.models import AbstractUser, UserManager |
from django.contrib.auth.models import AbstractUser, UserManager |
||||||
|
from django.contrib.postgres import fields as pgfields |
||||||
|
from django.utils.translation import gettext_lazy as _ |
||||||
User = get_user_model() |
|
||||||
|
|
||||||
|
class User(AbstractUser): |
||||||
class LilcityUserManager(UserManager): |
ROLE_CHOICES = ( |
||||||
def create_user(self, username, email=None, password=None, **extra_fields): |
(0, 'пользователь'), |
||||||
user = super().create_user(username, email, password, **extra_fields) |
(1, 'автор'), |
||||||
LilcityUserSettings.objects.create(user=user) |
(2, 'администратор'), |
||||||
return user |
) |
||||||
|
GENDER_CHOICES = ( |
||||||
|
('n', 'не указан'), |
||||||
class LilcityUserProxy(User): |
('m', 'Мужчина'), |
||||||
objects = LilcityUserManager() |
('f', 'Женщина'), |
||||||
|
) |
||||||
class Meta: |
email = models.EmailField(_('email address'), unique=True) |
||||||
proxy = True |
role = models.PositiveSmallIntegerField('Роль', default=0, choices=ROLE_CHOICES) |
||||||
|
gender = models.CharField('Пол', max_length=1, choices=GENDER_CHOICES) |
||||||
|
country = models.CharField('Страна', max_length=50, default='') |
||||||
class LilcityUserSettings(models.Model): |
city = models.CharField('Город', max_length=85, default='') |
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='lilcity_user_settings') |
about = models.CharField('О себе', max_length=1000, default='') |
||||||
is_verification_email = models.BooleanField(default=False) |
instagram = models.URLField(default='') |
||||||
facebook_id = models.PositiveIntegerField(null=True, blank=True, unique=True) |
facebook = models.URLField(default='') |
||||||
|
twitter = models.URLField(default='') |
||||||
|
pinterest = models.URLField(default='') |
||||||
|
youtube = models.URLField(default='') |
||||||
|
vkontakte = models.URLField('ВКонтакте', default='') |
||||||
|
fb_id = models.PositiveIntegerField(null=True, blank=True, unique=True) |
||||||
|
fb_data = pgfields.JSONField(default={}) |
||||||
|
is_email_proved = models.BooleanField('Верифицирован по email', default=False) |
||||||
|
|
||||||
|
USERNAME_FIELD = 'email' |
||||||
|
REQUIRED_FIELDS = ['username'] |
||||||
|
|||||||
@ -1,20 +1,29 @@ |
|||||||
version: '3' |
version: '3' |
||||||
|
|
||||||
services: |
services: |
||||||
postgres: |
db: |
||||||
image: postgres:9.6 |
image: postgres:10-alpine |
||||||
environment: |
environment: |
||||||
- POSTGRES_PASSWORD=1234 |
- LANG=ru_RU.UTF-8 |
||||||
- POSTGRES_USER=postgres |
- POSTGRES_DB=lilcity |
||||||
|
- POSTGRES_USER=lilcity |
||||||
|
- POSTGRES_PASSWORD=GPVs/E/{5&qe |
||||||
|
- PGDATA=/var/lib/postgresql/data/pgdata |
||||||
|
ports: |
||||||
|
- "5432:5432" |
||||||
|
|
||||||
web: |
web: |
||||||
build: . |
build: . |
||||||
restart: always |
restart: always |
||||||
volumes: |
volumes: |
||||||
- .:/lilcity |
- .:/lilcity |
||||||
command: bash -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000" |
command: bash -c "python manage.py migrate && python manage.py loaddata /lilcity/apps/*/fixtures/*.json && python manage.py runserver 0.0.0.0:8000" |
||||||
environment: |
environment: |
||||||
- DJANGO_SETTINGS_MODULE=project.settings |
- DJANGO_SETTINGS_MODULE=project.settings |
||||||
|
- DATABASE_SERVICE_HOST=db |
||||||
ports: |
ports: |
||||||
- "8000:8000" |
- "8000:8000" |
||||||
depends_on: |
depends_on: |
||||||
- postgres |
- db |
||||||
|
links: |
||||||
|
- db |
||||||
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,575 @@ |
|||||||
|
{% extends "templates/lilcity/index.html" %} {% load static %} |
||||||
|
|
||||||
|
{% block title %}School LIL.CITY{% endblock title %} |
||||||
|
{% block content %} |
||||||
|
<div class="main" style="background-image: url({% static 'img/bg-1.jpg' %});"> |
||||||
|
<div class="main__center center"> |
||||||
|
<div class="main__title">Первая онлайн-школа креативного мышления для детей! 5+</div> |
||||||
|
<a class="main__btn btn" href="#">КУПИТЬ ДОСУП ЗА 2000р. в мес.</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center"> |
||||||
|
<div class="text text_lg"> |
||||||
|
<p>Каждый день, с понедельника по пятницу в 17:00 по московскому времени мы встречаемся в прямом эфире. </p> |
||||||
|
<p>Пять предметов на каждый день: Персонаж, Развитие креативного мышления, Акварель, Пластилиновая живопись и История |
||||||
|
искусств. </p> |
||||||
|
<img class="text__curve text__curve_one" src="{% static 'img/curve-1.svg' %}" width="320"> |
||||||
|
</div> |
||||||
|
<div class="title title_center">О школе</div> |
||||||
|
<div class="about"> |
||||||
|
<div class="about__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="about__wrap"> |
||||||
|
<div class="about__content"> |
||||||
|
<p>С раннего возраста мы стремимся развить в детях креативность, умение думать и анализировать, работать в смешанных |
||||||
|
техниках и всевозможными материалами. Каждый урок интересный и уникальный.</p> |
||||||
|
<p>Для раскрытия творческого потенциала создаем благоприятные условия которые вдохновляют к развитию. Наша школа создает |
||||||
|
необходимую среду, в которой маленькое семечко способностей и желания рисовать вырастет в могучее дерево безграничного |
||||||
|
потенциала. |
||||||
|
</p> |
||||||
|
<p>Наши ученики становяться осознанными, уверенными и творческий личностями, способные решать сложные задачи благодаря |
||||||
|
воображению. |
||||||
|
</p> |
||||||
|
</div> |
||||||
|
<div class="about__ceo">- Sasha Kru, CEO и основатель |
||||||
|
<a href='#'>Lil.City</a> |
||||||
|
</div> |
||||||
|
<a class="about__video video" href="#"> |
||||||
|
<img class="video__pic" src="{% static 'img/video-1.jpg' %}"> |
||||||
|
<svg class="icon icon-play"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-play"></use> |
||||||
|
</svg> |
||||||
|
</a> |
||||||
|
<div class="about__more">Другие видео смотрите на нашем |
||||||
|
<a href='#'>канале</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<a class="online" href="#" style="background-image: url({% static 'img/video-1.jpg' %});"> |
||||||
|
<div class="online__center center"> |
||||||
|
<div class="online__type">ПРЯМОЙ ЭФИР</div> |
||||||
|
<div class="online__title">Каждый день в 17.00 (по Мск) </div> |
||||||
|
<div class="online__text text">Кроме выходных. Запись эфира доступна в течение 24-х часов.</div> |
||||||
|
<div class="online__action"> |
||||||
|
<svg class="icon icon-play"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-play"></use> |
||||||
|
</svg>СМОТРЕТЬ ПРИМЕР ЭФИРА</div> |
||||||
|
</div> |
||||||
|
</a> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center"> |
||||||
|
<div class="title title_center">Преимущества</div> |
||||||
|
<div class="text"> |
||||||
|
<p>Если цените время и стремитесь быть продуктивными, то онлайн-образование это выбор прогрессивного человека для достижения |
||||||
|
необходимых результатов.</p> |
||||||
|
<img class="text__curve text__curve_two" src="{% static 'img/curve-2.svg' %}" width="211"> |
||||||
|
</div> |
||||||
|
<div class="benefits"> |
||||||
|
<div class="benefits__item"> |
||||||
|
<div class="benefits__preview"> |
||||||
|
<svg class="icon icon-thumb"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-thumb"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
<div class="benefits__title">Доступность</div> |
||||||
|
<div class="benefits__content">Учитесь, не выходя из дома. С активной жизнью в больших городах, времени для образование остается не много. |
||||||
|
Маленьким городам, наоборот, не хватает разнообразия мегаполисов.</div> |
||||||
|
</div> |
||||||
|
<div class="benefits__item"> |
||||||
|
<div class="benefits__preview"> |
||||||
|
<svg class="icon icon-wallet"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-wallet"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
<div class="benefits__title">Стоимость</div> |
||||||
|
<div class="benefits__content">Онлайн-образование дешевле. Здесь не требуется аренда помещения, нет коммунальных платежей.</div> |
||||||
|
</div> |
||||||
|
<div class="benefits__item"> |
||||||
|
<div class="benefits__preview"> |
||||||
|
<svg class="icon icon-location"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-location"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
<div class="benefits__title">Свобода перемещений</div> |
||||||
|
<div class="benefits__content">Это важный критерий для родителей. С онлайн-образованием собирать, одевать и стоять в бесконечных пробках теперь |
||||||
|
не нужно.</div> |
||||||
|
</div> |
||||||
|
<div class="benefits__item"> |
||||||
|
<div class="benefits__preview"> |
||||||
|
<svg class="icon icon-searching"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-searching"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
<div class="benefits__title">Выбор преподавателя </div> |
||||||
|
<div class="benefits__content">Личные аккаунты Инстаграм также доступны, чтобы узнать о творчестве, мыслях и интересах. Принять решение у какого |
||||||
|
преподавателя учиться теперь просто.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="text text_mb0"> |
||||||
|
<p>И, наконец, учиться онлайн можете в пижаме, без макияжа и с огурцами на лице!</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section section_review"> |
||||||
|
<div class="section__center center center_md"> |
||||||
|
<div class="title title_center">Отзывы</div> |
||||||
|
<div class="text">Мы получаем сотни тёплых отзывов от довольных родителей. Их можно почитать |
||||||
|
<a href="#">здесь;)</a> |
||||||
|
</div> |
||||||
|
<div class="reviews"> |
||||||
|
<div class="reviews__item"> |
||||||
|
<div class="reviews__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="reviews__wrap"> |
||||||
|
<div class="reviews__name">@redanna333</div> |
||||||
|
<div class="reviews__content">Мой ребёнок зарисовал!!! Хотя, я и не ставила таких глобальных целей, участвуя в этом лагере, просто занять дитё |
||||||
|
чем-то творческим хоть иногда, но он реально рисует, сам, и не надо приглашать и уговаривать, просто берёт и |
||||||
|
рисует) Спасибо, Саша, от всей души) Надеемся на встречу в школе)</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="reviews__item"> |
||||||
|
<div class="reviews__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="reviews__wrap"> |
||||||
|
<div class="reviews__name">@redanna333</div> |
||||||
|
<div class="reviews__content">Саша, огромное спасибо за ещё одну возможность погружения в удивительный мир Ваших уроков! С начала первого летнего |
||||||
|
лагеря и до сегодняшнего дня, был запущен творческий круговорот разных идей, по заданиям и просто так)). На самом |
||||||
|
деле, удивительная способность, находясь далеко, по другую сторону экрана, создавать уникальный контакт присутствия |
||||||
|
рядом, будто в одной комнате и давно знакомы). И ещё одно важное качество- быть на стороне ребёнка в непростом |
||||||
|
творческом процессе- моя дочь, слушая Ваше задание, расправляет "крылья", не боясь оценочного мнения , а сосредоточившись |
||||||
|
на задаче)). P.S В школу идём без сомнений!</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="reviews__item"> |
||||||
|
<div class="reviews__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="reviews__wrap"> |
||||||
|
<div class="reviews__name">@redanna333</div> |
||||||
|
<div class="reviews__content">Саша, 👋 Вы потрясающе четко и качественно можете объяснить задание урока! Дети настолько увлекаются процессом, |
||||||
|
что взрослые и сами включаются в эту интересную игру ТВОРЧЕСТВО! Спасибо Вам за Вдохновение, Любовь и желание |
||||||
|
творить Чудеса! Темыч теперь легко может начать рисовать "трудные" картинки, потому что тетя Саша сказала: "все |
||||||
|
состоит из простых форм!" Теперь это наш девиз) главное ушёл страх, что не выйдет ПРАВИЛЬНО, потому что нет ограничений |
||||||
|
и правил в творчестве😜🙌надеемся на скорую встречу!!!</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center"> |
||||||
|
<div class="title title_center">Галерея</div> |
||||||
|
<div class="text"> |
||||||
|
<p>Тысячи шедевров уже созданы благодаря Lil City School. Более 10000 работ можно |
||||||
|
<a href='#'>увидеть</a> в Инстаграм</p> |
||||||
|
<img class="text__curve text__curve_three" src="{% static 'img/curve-3.svg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery"> |
||||||
|
<div class="gallery__grid"> |
||||||
|
<div class="gallery__item gallery__item_lg"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="gallery__grid"> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item gallery__item_lg"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="gallery__item"> |
||||||
|
<img class="gallery__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="app"> |
||||||
|
<div class="app__center center"> |
||||||
|
<div class="app__col"> |
||||||
|
<div class="app__theme">ПРИЛОЖЕНИЯ LIL CITY</div> |
||||||
|
<div class="app__title">Лучшие работы попадают в приложение Lil World</div> |
||||||
|
<div class="app__content">Lil World – это арт-фото редактор многократно отмеченный AppStore по всему миру как лучшее приложение с огромной коллекцией |
||||||
|
иллюстраций стикеров. Украшайте ваши фото и превращайте их в волшебные миры.</div> |
||||||
|
<div class="app__links"> |
||||||
|
<a class="app__link" href="#"> |
||||||
|
<img class="app__pic" src="{% static 'img/app-store.svg' %}"> |
||||||
|
</a> |
||||||
|
<a class="app__link" href="#"> |
||||||
|
<img class="app__pic" src="{% static 'img/google-play.svg' %}"> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="app__col"> |
||||||
|
<div class="app__preview"> |
||||||
|
<img class="app__pic" src="{% static 'img/screens.png' %}"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center center_md"> |
||||||
|
<div class="title title_center">Преподаватели</div> |
||||||
|
<div class="text"> |
||||||
|
<p>Преподаватели Lil City School имеют большой опыт, поэтому с первых минут детям будет интересно с нами.</p> |
||||||
|
<img class="text__curve text__curve_three" src="{% static 'img/curve-3.svg' %}"> |
||||||
|
</div> |
||||||
|
<div class="teachers"> |
||||||
|
<div class="teachers__item"> |
||||||
|
<div class="teachers__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="teachers__wrap"> |
||||||
|
<div class="teachers__title">Саша Крю, |
||||||
|
<a href='#'>#lil_персонаж</a> |
||||||
|
</div> |
||||||
|
<div class="teachers__name">@sashakru</div> |
||||||
|
<div class="teachers__content"> |
||||||
|
<p>Закончила ПХУ им К.А.Савицкого художник театра и кино. Работала с крупнейшими российскими и зарубежными |
||||||
|
издательствами. </p> |
||||||
|
<p>Участник и победитель международных выставок. </p> |
||||||
|
<p>Основатель компании "Lil City".</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="teachers__item"> |
||||||
|
<div class="teachers__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="teachers__wrap"> |
||||||
|
<div class="teachers__title">Саша Крю, |
||||||
|
<a href='#'>#lil_персонаж</a> |
||||||
|
</div> |
||||||
|
<div class="teachers__name">@sashakru</div> |
||||||
|
<div class="teachers__content"> |
||||||
|
<p>Закончила ПХУ им К.А.Савицкого художник театра и кино. Работала с крупнейшими российскими и зарубежными |
||||||
|
издательствами. </p> |
||||||
|
<p>Участник и победитель международных выставок. </p> |
||||||
|
<p>Основатель компании "Lil City".</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="teachers__item"> |
||||||
|
<div class="teachers__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="teachers__wrap"> |
||||||
|
<div class="teachers__title">Саша Крю, |
||||||
|
<a href='#'>#lil_персонаж</a> |
||||||
|
</div> |
||||||
|
<div class="teachers__name">@sashakru</div> |
||||||
|
<div class="teachers__content"> |
||||||
|
<p>Закончила ПХУ им К.А.Савицкого художник театра и кино. Работала с крупнейшими российскими и зарубежными |
||||||
|
издательствами. </p> |
||||||
|
<p>Участник и победитель международных выставок. </p> |
||||||
|
<p>Основатель компании "Lil City".</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="teachers__item"> |
||||||
|
<div class="teachers__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}"> |
||||||
|
</div> |
||||||
|
<div class="teachers__wrap"> |
||||||
|
<div class="teachers__title">Саша Крю, |
||||||
|
<a href='#'>#lil_персонаж</a> |
||||||
|
</div> |
||||||
|
<div class="teachers__name">@sashakru</div> |
||||||
|
<div class="teachers__content"> |
||||||
|
<p>Закончила ПХУ им К.А.Савицкого художник театра и кино. Работала с крупнейшими российскими и зарубежными |
||||||
|
издательствами. </p> |
||||||
|
<p>Участник и победитель международных выставок. </p> |
||||||
|
<p>Основатель компании "Lil City".</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="text text_mb0">Если хотите к нам в команду, то ждем ваше резюме |
||||||
|
<a href='#'>на почту</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section section_gray"> |
||||||
|
<div class="section__center center center_md"> |
||||||
|
<div class="title title_center">Расписание</div> |
||||||
|
<div class="schedule"> |
||||||
|
<div class="schedule__item"> |
||||||
|
<div class="schedule__day">Понедельник</div> |
||||||
|
<div class="schedule__wrap"> |
||||||
|
<div class="schedule__title">Персонаж.</div> |
||||||
|
<div class="schedule__content">Учимся создавать персонажей из простых форм. Изучаем характеры и эмоции.</div> |
||||||
|
<div class="schedule__toggle toggle"> |
||||||
|
<button class="toggle__head js-toggle-head">Материалы |
||||||
|
<svg class="icon icon-arrow-down"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-arrow-down"></use> |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
<div class="toggle__body">Cамое главное - иметь альбом или блокнот с пустыми страницами (без линий и клеток) плотной гладкой бумагой, формат |
||||||
|
А4. Рисовать будем цветными карандашами, а также простым, мягкостью B2. Иногда пригодятся вырезки из журналов |
||||||
|
и клей-карандаш.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="schedule__item"> |
||||||
|
<div class="schedule__day">Вторник</div> |
||||||
|
<div class="schedule__wrap"> |
||||||
|
<div class="schedule__title">Персонаж.</div> |
||||||
|
<div class="schedule__content">Учимся создавать персонажей из простых форм. Изучаем характеры и эмоции.</div> |
||||||
|
<div class="schedule__toggle toggle"> |
||||||
|
<button class="toggle__head js-toggle-head">Материалы |
||||||
|
<svg class="icon icon-arrow-down"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-arrow-down"></use> |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
<div class="toggle__body">Cамое главное - иметь альбом или блокнот с пустыми страницами (без линий и клеток) плотной гладкой бумагой, формат |
||||||
|
А4. Рисовать будем цветными карандашами, а также простым, мягкостью B2. Иногда пригодятся вырезки из журналов |
||||||
|
и клей-карандаш.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="schedule__item"> |
||||||
|
<div class="schedule__day">Среда</div> |
||||||
|
<div class="schedule__wrap"> |
||||||
|
<div class="schedule__title">Персонаж.</div> |
||||||
|
<div class="schedule__content">Учимся создавать персонажей из простых форм. Изучаем характеры и эмоции.</div> |
||||||
|
<div class="schedule__toggle toggle"> |
||||||
|
<button class="toggle__head js-toggle-head">Материалы |
||||||
|
<svg class="icon icon-arrow-down"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-arrow-down"></use> |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
<div class="toggle__body">Cамое главное - иметь альбом или блокнот с пустыми страницами (без линий и клеток) плотной гладкой бумагой, формат |
||||||
|
А4. Рисовать будем цветными карандашами, а также простым, мягкостью B2. Иногда пригодятся вырезки из журналов |
||||||
|
и клей-карандаш.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="schedule__item"> |
||||||
|
<div class="schedule__day">Четверг</div> |
||||||
|
<div class="schedule__wrap"> |
||||||
|
<div class="schedule__title">Персонаж.</div> |
||||||
|
<div class="schedule__content">Учимся создавать персонажей из простых форм. Изучаем характеры и эмоции.</div> |
||||||
|
<div class="schedule__toggle toggle"> |
||||||
|
<button class="toggle__head js-toggle-head">Материалы |
||||||
|
<svg class="icon icon-arrow-down"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-arrow-down"></use> |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
<div class="toggle__body">Cамое главное - иметь альбом или блокнот с пустыми страницами (без линий и клеток) плотной гладкой бумагой, формат |
||||||
|
А4. Рисовать будем цветными карандашами, а также простым, мягкостью B2. Иногда пригодятся вырезки из журналов |
||||||
|
и клей-карандаш.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="schedule__item"> |
||||||
|
<div class="schedule__day">Пятница</div> |
||||||
|
<div class="schedule__wrap"> |
||||||
|
<div class="schedule__title">Персонаж.</div> |
||||||
|
<div class="schedule__content">Учимся создавать персонажей из простых форм. Изучаем характеры и эмоции.</div> |
||||||
|
<div class="schedule__toggle toggle"> |
||||||
|
<button class="toggle__head js-toggle-head">Материалы |
||||||
|
<svg class="icon icon-arrow-down"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-arrow-down"></use> |
||||||
|
</svg> |
||||||
|
</button> |
||||||
|
<div class="toggle__body">Cамое главное - иметь альбом или блокнот с пустыми страницами (без линий и клеток) плотной гладкой бумагой, формат |
||||||
|
А4. Рисовать будем цветными карандашами, а также простым, мягкостью B2. Иногда пригодятся вырезки из журналов |
||||||
|
и клей-карандаш.</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="text text_mb0"> |
||||||
|
<a href='#'>Распечатать расписание</a> чтобы не забыть</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center"> |
||||||
|
<div class="title title_center">Онлайн-курсы</div> |
||||||
|
<div class="text">Помимо онлайн-школы Lil City у нас есть отдельные |
||||||
|
<a href='#'>курсы в записи</a>. Учитесь и развивайте креативное мышление когда вам удобно.</div> |
||||||
|
<div class="courses"> |
||||||
|
<div class="courses__list"> |
||||||
|
<div class="courses__item"> |
||||||
|
<a class="courses__preview" href="#"> |
||||||
|
<img class="courses__pic" src="{% static 'img/pic-1.jpg' %}" /> |
||||||
|
<div class="courses__view">Подробнее</div> |
||||||
|
<div class="courses__label courses__label_fav"></div> |
||||||
|
</a> |
||||||
|
<div class="courses__details"> |
||||||
|
<a class="courses__theme theme" href="#">АНИМАЦИЯ</a> |
||||||
|
<div class="courses__price">30$</div> |
||||||
|
</div> |
||||||
|
<a class="courses__title" href="#">Базовый курс для детей по основам иллюстрации</a> |
||||||
|
<div class="courses__content">Этот курс поможет детям узнать о том как из простых форм создавать веселый и харизматичных персонажей.</div> |
||||||
|
<div class="courses__user user"> |
||||||
|
<div class="user__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}" /> |
||||||
|
</div> |
||||||
|
<div class="user__info"> |
||||||
|
<div class="user__name">Александра Неимоверноумная</div> |
||||||
|
<div class="user__meta"> |
||||||
|
<div class="user__date">SEPT 12, 2017</div> |
||||||
|
<a class="user__likes likes" href="#"> |
||||||
|
<div class="likes__counter">253</div> |
||||||
|
<div class="likes__icon"> |
||||||
|
<svg class="icon icon-like"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like"></use> |
||||||
|
</svg> |
||||||
|
<svg class="icon icon-like-fill"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like-fill"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="courses__item"> |
||||||
|
<a class="courses__preview" href="#"> |
||||||
|
<img class="courses__pic" src="{% static 'img/pic-1.jpg' %}" /> |
||||||
|
<div class="courses__view">Подробнее</div> |
||||||
|
<div class="courses__soon"> |
||||||
|
<div class="courses__left">До запуска курса осталось:</div> |
||||||
|
<div class="courses__time">16 часов 13 минут</div> |
||||||
|
</div> |
||||||
|
<div class="courses__label courses__label_clock"></div> |
||||||
|
</a> |
||||||
|
<div class="courses__details"> |
||||||
|
<a class="courses__theme theme theme_green" href="#">АНИМАЦИЯ</a> |
||||||
|
<div class="courses__price">30$</div> |
||||||
|
</div> |
||||||
|
<a class="courses__title" href="#">Базовый курс для детей по основам иллюстрации</a> |
||||||
|
<div class="courses__content">Этот курс поможет детям узнать о том как из простых форм создавать веселый и харизматичных персонажей.</div> |
||||||
|
<div class="courses__user user"> |
||||||
|
<div class="user__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}" /> |
||||||
|
</div> |
||||||
|
<div class="user__info"> |
||||||
|
<div class="user__name">Александра Неимоверноумная</div> |
||||||
|
<div class="user__meta"> |
||||||
|
<div class="user__date">SEPT 12, 2017</div> |
||||||
|
<a class="user__likes likes" href="#"> |
||||||
|
<div class="likes__counter">253</div> |
||||||
|
<div class="likes__icon"> |
||||||
|
<svg class="icon icon-like"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like"></use> |
||||||
|
</svg> |
||||||
|
<svg class="icon icon-like-fill"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like-fill"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="courses__item"> |
||||||
|
<a class="courses__preview" href="#"> |
||||||
|
<img class="courses__pic" src="{% static 'img/pic-1.jpg' %}" /> |
||||||
|
<div class="courses__view">Подробнее</div> |
||||||
|
</a> |
||||||
|
<div class="courses__details"> |
||||||
|
<a class="courses__theme theme theme_violet" href="#">АНИМАЦИЯ</a> |
||||||
|
<div class="courses__price">30$</div> |
||||||
|
</div> |
||||||
|
<a class="courses__title" href="#">Базовый курс для детей по основам иллюстрации</a> |
||||||
|
<div class="courses__content">Этот курс поможет детям узнать о том как из простых форм создавать веселый и харизматичных персонажей.</div> |
||||||
|
<div class="courses__user user"> |
||||||
|
<div class="user__ava ava"> |
||||||
|
<img class="ava__pic" src="{% static 'img/user.jpg' %}" /> |
||||||
|
</div> |
||||||
|
<div class="user__info"> |
||||||
|
<div class="user__name">Александра Неимоверноумная</div> |
||||||
|
<div class="user__meta"> |
||||||
|
<div class="user__date">SEPT 12, 2017</div> |
||||||
|
<a class="user__likes likes" href="#"> |
||||||
|
<div class="likes__counter">253</div> |
||||||
|
<div class="likes__icon"> |
||||||
|
<svg class="icon icon-like"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like"></use> |
||||||
|
</svg> |
||||||
|
<svg class="icon icon-like-fill"> |
||||||
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like-fill"></use> |
||||||
|
</svg> |
||||||
|
</div> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="courses__more more"> |
||||||
|
<a class="more__btn btn btn_light" href="#">УЗНАТЬ ПОДРОБНЕЕ</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="game"> |
||||||
|
<div class="game__center center"> |
||||||
|
<div class="game__wrap"> |
||||||
|
<div class="game__theme">LILCITY</div> |
||||||
|
<div class="game__title">Приложения, развивающие игры и интерактивные книги от Lil City.</div> |
||||||
|
<a class="game__btn btn btn_dark" href="#">УЗНАТЬ БОЛЬШЕ</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="game__preview"> |
||||||
|
<img class="game__pic" src="{% static 'img/icons.png' %}"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="section"> |
||||||
|
<div class="section__center center"> |
||||||
|
<div class="title title_center">Наши партнеры</div> |
||||||
|
<div class="partners"> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
<a class="partners__item" href="#"> |
||||||
|
<img class="partners__pic" src="{% static 'img/box.jpg' %}"> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
{% endblock content %} |
||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Loading…
Reference in new issue