3 ^u@sddlZddlZddlmZddlmZmZmZmZm Z m Z ddl m Z m Z mZddlmZmZmZmZddlmZmZddlmZmZmZmZe jde jd d d Ze jd d dZe jdddgdddZe jdddgdddZ e jdddZ!ddZ"e jdddgdeddZ#e jd dgdd!d"Z$e jd#ddgded$d%Z%e jd&d'd(Z&e jd)ddgded*d+Z'e jd,dgded-d.Z(dS)/N)Image)render_templateurl_forflashredirectrequestabort)appdbbcrypt)RegistrationForm LoginFormUpdateAccountFormPostForm)UserPost) login_user current_user logout_userlogin_required/z/homecCstjj}td|dS)Nz home.html)posts)rqueryallr)rr`/home/kgabalins/Documents/prakses_projekts/simple-project/project/Flask_Blog/flaskblog/routes.pyhome s rz/aboutcCs tdddS)Nz about.htmlZAbout)title)rrrrraboutsrz /registerGETPOST)methodscCstjrttdSt}|jrvtj|jj j d}t |j j |j j |d}tjj|tjjtddttdStdd|d S) Nrzutf-8)usernameemailpasswordz.Your account has been registered successfully!successloginz register.htmlZRegister)rform)ris_authenticatedrrr validate_on_submitr generate_password_hashr$datadecoderr"r#r sessionaddcommitrr)r'hashed_passworduserrrrregisters     r2z/logincCstjrttdSt}|jrtjj|j j dj }|rt j |j|jj rt||jj dtjjd}|rtt|SttdStddtdd|d S) Nr)r#)remembernextzs    rHz/accountcCst}|jr\|jjr(t|jj}|t_|jjt_|jjt_t j j t ddt tdStjdkrztj|j_tj|j_tddtjd}tdd ||td S) Nz+Your account has been updated successfully!r%accountrstaticz profile_pics/)rAz account.htmlAccount)r image_filer'r1)rr)Zpicturer+rHrrLr"r#r r-r/rrrrmethodr)r'Z picture_filerLrrrrINs         rIz/account/cCsPtjj|dj}|r@|tkr@tdd|jd}tdd||dSttdSd S) N)r"rJz profile_pics/)rAz account.htmlrK)rrLr1rIzThis user doesn't exist!) rrr5r6rrrLrr)Z user_namer1rLrrr accountViewds   rNz /post/newcCs`t}|jrPt|jj|jjtd}tjj |tjj t ddt t dStddd|dS)N)rcontentauthorz(Your post has been created successfully!r%rzcreate_post.htmlzNew Post)rlegendr')rr)rrr+rOrr r-r.r/rrrr)r'postrrrnew_postos    rSz/post/cCstjj|}td|j|dS)Nz post.html)rrR)rr get_or_404rr)post_idrRrrrrRs rRz/post//updatecCstjj|}|jtkrtdt}|jrf|jj |_|j j |_ t j j tddttd|jdStjdkr|j|j_ |j |j _ tddd|d S) Niz(Your post has been updated successfully!r%rR)rUrzcreate_post.htmlz Update Post)rrQr')rrrTrPrrrr)rr+rOr r-r/rrridrrMr)rUrRr'rrr update_posts         rWz/post//deletecCsJtjj|}|jtkrtdtjj|tjj t ddt t dS)Niz(Your post has been deleted successfully!r%r) rrrTrPrrr r-deleter/rrr)rUrRrrr delete_posts     rY))r=r>ZPILrflaskrrrrrr flaskblogr r r Zflaskblog.formsr r rrZflaskblog.modelsrr flask_loginrrrrrouterrr2r&r:rHrIrNrSrRrWrYrrrrs.