
    |Eh                     
   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	  ede
d      Zej                  d      d	        Zej                  d
      d        Zej                  d      d        Zej                  d      d        Zy)    )	Blueprintrender_templaterequest)Course)Teacher)dbcoursez/course)
url_prefix/c                  H   t         j                  j                  ddt              } d}t         j                  j                  d      }t         j                  j                  d      }t         j                  j                  d      }t         j                  j                  dt              }t         j                  j                  d	t              }t
        j                  j                  d
      }|rV|j                  |dk(  r!t
        j                  j                  ddg      n t
        j                  j                  ddg            }|r"|j                  t
        j                  |k(        }|r"|j                  t
        j                  |k(        }|"|j                  t
        j                  |k\        }|"|j                  t
        j                  |k        }|j                  t
        j                  j!                               j#                  | |d      }t%        d|      S )ui   
    课程列表页（支持筛选和分页）
    支持：类型、级别、类别、价格区间
    page   type   r   levelcategory	min_price	max_priceT)is_availableonlinebothofflineFr   per_page	error_outzcourse/list.htmlcourses)r   argsgetintfloatr   query	filter_byfiltercourse_typein_r   r   priceorder_bytotal_enrollmentsdescpaginater   )	r   r   r&   r   r   r   r   r#   r   s	            /var/www/html/routes/course.pycourse_listr.      s    <<FAC0DH ,,""6*KLLW%E||
+H  5 9I  5 9I LL"""5E ;ZbKbV//33Xv4FG & 2 2 6 6	67J KM V\\U23V__89V\\Y67V\\Y67 nnV55::<=FFH G G -w??    z/<int:course_id>c                    t         j                  j                  |       }|j                  st	        d      dfS t         j                  j                  t         j                  | k7  t         j                  |j                  k(  t         j                  dk(        j                  d      j                         }t	        d||      S )uE   
    课程详情页
    显示课程信息 + 相关课程推荐
    zcourse/unavailable.htmli  T   zcourse/detail.html)r	   related_courses)
r   r#   
get_or_404r   r   r%   id
teacher_idlimitall)	course_idr	   r2   s      r-   course_detailr9   8   s     \\$$Y/F893>> ll))		YV...t# eAhssu	  / &)8: :r/   z/onlinec                     t         j                  j                  ddt              } d}t        j
                  j                  t        j                  dk(  t        j                  j                  ddg            j                  t        j                  j                               j                  | |d	      }t        d
|      S )uQ   
    在线课程列表
    筛选 course_type 为 online 或 both 的课程
    r   r   r   r   Tr   r   Fr   zcourse/online.htmlr   r   r   r    r!   r   r#   r%   r   r&   r'   r)   r*   r+   r,   r   r   r   r   s      r-   online_coursesr=   O   s     <<FAC0DHll!!t#&12 hv'',,./H 19 1  /AAr/   z/offlinec                     t         j                  j                  ddt              } d}t        j
                  j                  t        j                  dk(  t        j                  j                  ddg            j                  t        j                  j                               j                  | |d	      }t        d
|      S )uR   
    线下课程列表
    筛选 course_type 为 offline 或 both 的课程
    r   r   r   r   Tr   r   Fr   zcourse/offline.htmlr   r;   r<   s      r-   offline_coursesr?   b   s     <<FAC0DHll!!t#	623 hv'',,./H 19 1  0'BBr/   N)flaskr   r   r   models.courser   models.teacherr   
extensionsr   __name__	course_bprouter.   r9   r=   r?    r/   r-   <module>rH      s    6 5   "  hY?	 (@ (@V #$: %:, B B$ C Cr/   