# -*- coding: UTF-8 -*-

from django.shortcuts import render, redirect, get_object_or_404
#from easy_thumbnails.files import get_thumbnailer
from .forms import RegisterForm
from .models import Image, Category
# Create your views here.

def gallery(request):
    imgs = []
    group = {}
    group['thumbnail'] = '/static/media/thumbnail_IMG_7714.JPG'
    group['img'] = '/static/media/IMG_7714.JPG'
    group['description'] = '下雪等班车'
    imgs.append(group)

    group = {}
    group['thumbnail'] = '/static/media/thumbnail_IMG_1088.JPG'
    group['img'] = '/static/media/IMG_1088.JPG'
    group['description'] = '我和你在校园'
    imgs.append(group)
    
#     gallery = Image.objects.all()
#     return render(request, 'users/gallery.html', context={'imgs': gallery})
    cates = Category.objects.all()
    return render(request, 'users/gallery.html', context={'cates': cates})

def category(request, pk):
    cate = get_object_or_404(Category, pk=pk)
    images = Image.objects.filter(category=cate).order_by('-created')
    return render(request, 'users/category.html', {'images':images})

def register(request):
    # 只有当请求为 POST 时，才表示用户提交了注册信息
    if request.method == 'POST':
        # request.POST 是一个类字典数据结构，记录了用户提交的注册信息
        # 这里提交的就是用户名（username）、密码（password）、邮箱（email）
        # 用这些数据实例化一个用户注册表单
        form = RegisterForm(request.POST)

        # 验证数据的合法性
        if form.is_valid():
            # 如果提交数据合法，调用表单的 save 方法将用户数据保存到数据库
            form.save()

            # 注册成功，跳转回首页
            return redirect('/')
    else:
        # 请求不是 POST，表明用户正在访问注册页面，展示一个空的注册表单给用户
        form = RegisterForm()

    # 渲染模板
    # 如果用户正在访问注册页面，则渲染的是一个空的注册表单
    # 如果用户通过表单提交注册信息，但是数据验证不合法，则渲染的是一个带有错误信息的表单
    return render(request, 'users/register.html', context={'form': form})
