[1076] 2018-06-26_[Y4er]6月份作业之如何使用Django开发个人博客?

文档创建者:s7ckTeam
浏览次数:11
最后更新:2025-01-16
2018-06-26_[Y4er]6月份作业之如何使用Django开发个人博客? [ Y 4 e r ] 6 使 D j a n g o   Y 4 e r   C h a B u g   2 0 1 8 - 0 6 - 2 6 P y t h o n P y t h o n w e b d j a n g o P y t h o n   W e b d j a n g o d j a n g o d j a n g o d j a n g o d j a n g o M V C M V C M o d e l V i e w C o n t r o l l e r h t m l j s c s s P y t h o n 3 + d j a n g o 2 . 0 + P y c h a r m P r o 2 0 1 8 使 P y c h a r m 便 使 d j a n g o c d m y b l o g a p p a p p a p p d j a n g o a p p a p p c h a b u g a p p P y c h a r m 8 0 0 0 1 2 7 . 0 . 0 . 1 : 8 0 0 0 访 d j a n g o - a d m i n   s t a r t p r o j e c t   m y b l o g p y t h o n 3   m a n a g e . p y   s t a r t a p p   b l o g p y t h o n 3   m a n a g e . p y   r u n s e r v e r   8 0 0 0
m a n a g e . p y s e t t i n g s . p y u r l s . p y u r l 1 2 7 . 0 . 0 . 1 / c h a b u g / 1 2 7 . 0 . 0 . 1 / c h u y u w s g i . p y U R L A P P v i e w s . p y G E T P O S T h e a d e r s f r o m   d j a n g o . s h o r t c u t s   i m p o r t   r e n d e r , H t t p R e s p o n s e d e f   h e l l o ( r e q u e s t ) :         r e t u r n   H t t p R e s p o n s e ( " h e l l o " ) u r l s . p y U R L f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   d j a n g o . u r l s   i m p o r t   p a t h u r l p a t t e r n s   =   [         p a t h ( ' a d m i n / ' ,   a d m i n . s i t e . u r l s ) , ] a d m i n d j a n g o u r l h e l l o a p p v i e w s . p y f o r m   b l o g   i m p o r t   v i e w s f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   d j a n g o . u r l s   i m p o r t   p a t h f r o m   b l o g   i m p o r t   v i e w s u r l p a t t e r n s   =   [         p a t h ( ' a d m i n / ' ,   a d m i n . s i t e . u r l s ) ,         p a t h ( ' ' ,   v i e w s . h e l l o ) , ] d j a n g o u r l 访 1 2 7 . 0 . 0 . 1 : 8 0 0 0 H t t p R e s p o n s e p y t h o n 3   m a n a g e . p y   h e l p r e q u e s t H t t p R e s p o n s e B a s e H t t p R e s p o n s e h e l l o u r l p a t t e r n s h e l l o
U R L v i e w s . p y d e f   A ( r e q u e s t , i d ) :         t e x t   =   " i d : % s   "   %   i d         r e t u r n   H t t p R e s p o n s e ( t e x t ) u r l s . p y f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   d j a n g o . u r l s   i m p o r t   p a t h f r o m   b l o g   i m p o r t   v i e w s u r l p a t t e r n s   =   [         p a t h ( ' a d m i n / ' ,   a d m i n . s i t e . u r l s ) ,         p a t h ( ' ' ,   v i e w s . h e l l o ) ,         p a t h ( ' A / < i d > ' ,   v i e w s . A ) , ] 访 v i e w s . p y d e f   B ( r e q u e s t ) :         i d   =   r e q u e s t . G E T . g e t [ ' i d ' ]         t e x t   =   " i d : % s   "   %   i d         r e t u r n   H t t p R e s p o n s e ( t e x t ) u r l s . p y f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   d j a n g o . u r l s   i m p o r t   p a t h f r o m   b l o g   i m p o r t   v i e w s u r l p a t t e r n s   =   [         p a t h ( ' a d m i n / ' ,   a d m i n . s i t e . u r l s ) ,         p a t h ( ' ' ,   v i e w s . h e l l o ) ,         p a t h ( ' B / ' ,   v i e w s . B ) , ] 访   1 2 7 . 0 . 0 . 1 : 8 0 0 0 / B / ? i d = 1 U R L u r l 访 u r l 1 2 7 . 0 . 0 . 1 / A / i d r e v e r s e
r e v e r s e ( " l i s t " ) >   / b o o k / l i s t / r e v e r s e ( " b o o k : d e t a i l " , k w a r g s = { " b o o k _ i d " : 1 } ) >   / b o o k / d e t a i l / 1 U R L f r o m   d j a n g o . d b   i m p o r t   m o d e l s c l a s s   A r t i c l e ( m o d e l s . M o d e l ) :         t i t l e   =   m o d e l s . C h a r F i e l d ( m a x _ l e n g t h = 5 0 )           #         c a t e g o r y   =   m o d e l s . C h a r F i e l d ( m a x _ l e n g t h = 5 0 ,   b l a n k = T r u e )     #         d a t e t i m e   =   m o d e l s . D a t e T i m e F i e l d ( a u t o _ n o w _ a d d = T r u e )     #         c o n t e n t   =   m o d e l s . T e x t F i e l d ( b l a n k = T r u e ,   n u l l = T r u e )       #         d e f   _ _ s t r _ _ ( s e l f ) :                 r e t u r n   s e l f . t i t l e         c l a s s   M e t a :                 o r d e r i n g   =   [ ' - d a t e t i m e ' ]         # p y t h o n 3   m a n a g e . p y   m a k e m i g r a t i o n s p y t h o n 3   m a n a g e . p y   m i g r a t e a d m i n . p y f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   b l o g . m o d e l s   i m p o r t   A r t i c l e #   R e g i s t e r   y o u r   m o d e l s   h e r e . a d m i n . s i t e . r e g i s t e r ( A r t i c l e ) d j a n g o 1 2 7 . 0 . 0 . 1 : 8 0 0 0 / a d m i n U R L f r o m   d j a n g o . c o n t r i b   i m p o r t   a d m i n f r o m   d j a n g o . u r l s   i m p o r t   p a t h f r o m   b l o g   i m p o r t   v i e w s u r l p a t t e r n s   =   [         p a t h ( ' a d m i n / ' ,   a d m i n . s i t e . u r l s ) ,         p a t h ( ' ' ,   v i e w s . i n d e x ,   n a m e = ' i n d e x ' ) ,         p a t h ( ' < i n t : i d > / ' ,   v i e w s . d e t a i l ,   n a m e = ' d e t a i l ' ) ,         p a t h ( ' a r c h i v e s / ' ,   v i e w s . a r c h i v e s ,   n a m e = ' a r c h i v e s ' ) ,         p a t h ( ' t a g / < s t r : t a g > ' ,   v i e w s . t a g s ,   n a m e = ' t a g ' ) ,         p a t h ( ' s e a r c h / ' ,   v i e w s . s e a r c h ,   n a m e = ' s e a r c h ' ) ] f r o m   d j a n g o . s h o r t c u t s   i m p o r t   r e n d e r ,   r e d i r e c t f r o m   b l o g . m o d e l s   i m p o r t   A r t i c l e f r o m   d j a n g o . h t t p   i m p o r t   H t t p 4 0 4
#   d e f   i n d e x ( r e q u e s t ) :         s e s s i o n i d   =   r e q u e s t . C O O K I E S . g e t ( ' s e s s i o n i d ' )         p o s t _ l i s t   =   A r t i c l e . o b j e c t s . a l l ( )         r e t u r n   r e n d e r ( r e q u e s t , ' i n d e x . h t m l ' , { ' p o s t _ l i s t ' :   p o s t _ l i s t ,   ' s e s s i o n i d ' : s e s s i o n i d } ) # d e f   d e t a i l ( r e q u e s t , i d ) :         t r y :                 p o s t = A r t i c l e . o b j e c t s . g e t ( i d = i d )         e x c e p t :                 r a i s e   H t t p 4 0 4         r e t u r n   r e n d e r ( r e q u e s t , ' p o s t . h t m l ' , { ' p o s t ' : p o s t } ) # d e f   a r c h i v e s ( r e q u e s t ) :         t r y :                 p o s t _ l i s t   =   A r t i c l e . o b j e c t s . a l l ( )         e x c e p t   A r t i c l e . D o e s N o t E x i s t   :                 r a i s e   H t t p 4 0 4         r e t u r n   r e n d e r ( r e q u e s t ,   ' a r c h i v e s . h t m l ' ,   { ' p o s t _ l i s t ' :   p o s t _ l i s t ,   ' e r r o r ' :   F a l s e } ) # d e f   t a g s ( r e q u e s t ,   t a g ) :         p o s t _ l i s t   =   A r t i c l e . o b j e c t s . f i l t e r ( c a t e g o r y _ _ i e x a c t = t a g )         r e t u r n   r e n d e r ( r e q u e s t , ' t a g s . h t m l ' ,   { ' p o s t _ l i s t ' :   p o s t _ l i s t } ) # d e f   s e a r c h ( r e q u e s t ) :         i f   ' s '   i n   r e q u e s t . G E T :                 s = r e q u e s t . G E T [ ' s ' ]                 i f   n o t   s :                         r e t u r n   r e n d e r ( r e q u e s t , ' i n d e x . h t m l ' )                 e l s e :                         p o s t _ l i s t = A r t i c l e . o b j e c t s . f i l t e r ( t i t l e _ _ i c o n t a i n s = s )                         i f   l e n ( p o s t _ l i s t ) = = 0 :                                 r e t u r n   r e n d e r ( r e q u e s t ,   ' a r c h i v e s . h t m l ' , { ' p o s t _ l i s t ' : p o s t _ l i s t , ' e r r o r ' : T r u e } )                         e l s e :                                 r e t u r n   r e n d e r ( r e q u e s t ,   ' a r c h i v e s . h t m l ' , { ' p o s t _ l i s t ' : p o s t _ l i s t , ' e r r o r ' : F a l s e } )         r e t u r n   r e d i r e c t ( ' i n d e x ' ) { %   l o a d   s t a t i c   % } < ! D O C T Y P E   h t m l > < h t m l   l a n g = " e n " > < h e a d >         < m e t a   c h a r s e t = " U T F - 8 " >         < t i t l e > I n d e x { %   b l o c k   t i t l e   % }   -   M y B l o g { %   e n d b l o c k   % } < / t i t l e >         < l i n k   r e l = " s t y l e s h e e t "   h r e f = " h t t p s : / / c d n . b o o t c s s . c o m / b o o t s t r a p / 3 . 3 . 7 / c s s / b o o t s t r a p . m i n . c s s " >         < s c r i p t   s r c = " h t t p s : / / c d n . b o o t c s s . c o m / b o o t s t r a p / 3 . 3 . 7 / j s / b o o t s t r a p . m i n . j s " > < / s c r i p t >         < l i n k   r e l = " s t y l e s h e e t "   h r e f = " h t t p : / / p i c t u r e b a g . q i n i u d n . c o m / b l o g . c s s " >         < l i n k   r e l = " s t y l e s h e e t "   h r e f = " { %   s t a t i c   " v i m . c s s "   % } " >         { %   b l o c k   h e a d   % } { %   e n d b l o c k   % }         < s t y l e >                 i m g {                         m a r g i n - t o p :   - 2 0 p x ;                         m a x - h e i g h t :   6 0 p x ;                         m a x - w i d t h :   1 5 0 p x ;                 }                 . p a n e l - b o d y {                         w i d t h :   7 5 0 p x ;                         m a r g i n - l e f t :   a u t o ;                         m a r g i n - r i g h t :   a u t o ;
                }         < / s t y l e > < / h e a d > < b o d y > < n a v   c l a s s = " n a v b a r   n a v b a r - d e f a u l t " >         < d i v   c l a s s = " c o n t a i n e r - f l u i d " >                 < ! - -   B r a n d   a n d   t o g g l e   g e t   g r o u p e d   f o r   b e t t e r   m o b i l e   d i s p l a y   - - >                 < d i v   c l a s s = " n a v b a r - h e a d e r " >                         < a   c l a s s = " n a v b a r - b r a n d "   h r e f = " { %   u r l   ' i n d e x '   % } " >                                 < i m g   s r c = " { %   s t a t i c   ' l o g o . p n g '   % } "   a l t = " l o g o " >                         < / a >                 < / d i v >                 < ! - -   C o l l e c t   t h e   n a v   l i n k s ,   f o r m s ,   a n d   o t h e r   c o n t e n t   f o r   t o g g l i n g   - - >                 < d i v   c l a s s = " c o l l a p s e   n a v b a r - c o l l a p s e "   i d = " b s - e x a m p l e - n a v b a r - c o l l a p s e - 1 " >                         < u l   c l a s s = " n a v   n a v b a r - n a v " >                                 < l i   c l a s s = " a c t i v e " > < a   h r e f = " { %   u r l   ' i n d e x '   % } " > < s p a n   c l a s s = " s r - o n l y " > ( c u r r e n t ) < / s p a n > < / a > < / l i >                                 < l i > < a   h r e f = " { %   u r l   ' a r c h i v e s '   % } " > < / a > < / l i >                         < / u l >                         < f o r m   c l a s s = " n a v b a r - f o r m   n a v b a r - r i g h t "   a c t i o n = " / s e a r c h / "   m e t h o d = " g e t " >                                 < d i v   c l a s s = " f o r m - g r o u p " >                                         < i n p u t   t y p e = " t e x t "   c l a s s = " f o r m - c o n t r o l "   p l a c e h o l d e r = " S e a r c h "   n a m e = " s " >                                 < / d i v >                                 < b u t t o n   t y p e = " s u b m i t "   c l a s s = " b t n   b t n - d e f a u l t " > < / b u t t o n >                         < / f o r m >                         < u l   c l a s s = " n a v   n a v b a r - n a v   n a v b a r - r i g h t " >                                 { %   b l o c k   n a v   % }                                         { %   i f   s e s s i o n i d   % }                                                 < l i > < a   h r e f = " / a d m i n " > < / a > < / l i >                                         { %   e l s e   % }                                                 < l i > < a   h r e f = " / a d m i n " > < / a > < / l i >                                         { %   e n d i f   % }                                 { %   e n d b l o c k   % }                         < / u l >                 < / d i v > < ! - -   / . n a v b a r - c o l l a p s e   - - >         < / d i v > < ! - -   / . c o n t a i n e r - f l u i d   - - > < / n a v > { %   b l o c k   c o n t e n t   % } { %   e n d b l o c k   % } < f o o t e r   c l a s s = " f o o t e r   h i d d e n - x s " >         < d i v   c l a s s = " c o n t a i n e r " >                         C o p y r i g h t   ©   2 0 1 3   C h a B u g .   A l l   R i g h t s   R e s e r v e d .         < / d i v > < / f o o t e r > < / b o d y > < / h t m l > { %   e x t e n d s   ' b a s e . h t m l '   % } { %   b l o c k   c o n t e n t   % }         < d i v   c l a s s = " c o n t a i n e r " >                 { %   f o r   p o s t   i n   p o s t _ l i s t   % }                         < d i v   c l a s s = " p a n e l - b o d y " >                                 < d i v   c l a s s = " e n t r y - h e a d e r   p a g e - h e a d e r " >                                         < d i v   c l a s s = " e n t r y - t i t l e   h 4 " >                                                 < a   h r e f = " { %   u r l   ' d e t a i l '   i d = p o s t . i d   % } " > { {   p o s t . t i t l e   } } < / a >                                         < / d i v >                                         < d i v   c l a s s = " e n t r y - m e t a " >                                                 < p > T i m e < t i m e > { {   p o s t . d a t e t i m e | d a t e : " Y - m - d "   } } < / t i m e >                                                         < a   h r e f = " { %   u r l   ' t a g '   t a g = p o s t . c a t e g o r y   % } " > { {   p o s t . c a t e g o r y   } } < / a >                                                 < / p >                                         < / d i v >                                         < d i v   c l a s s = " e n t r y - c o n t e n t "   i t e m p r o p = " d e s c r i p t i o n " >                                                 { %   l o a d   m a r k d o w n _ d e u x _ t a g s   % }                                                 { {   p o s t . c o n t e n t | t r u n c a t e c h a r s _ h t m l : 5 0   } }
                                                < a   h r e f = " { %   u r l   ' d e t a i l '   i d = p o s t . i d   % } " > R e a d   M o r e < / a >                                         < / d i v >                                 < / d i v >                         < / d i v >                 { %   e n d f o r   % }         < / d i v > { %   e n d b l o c k   % } { %   e x t e n d s   " b a s e . h t m l "   % } { %   b l o c k   c o n t e n t   % }         < d i v   c l a s s = " c o n t a i n e r " >                 { %   i f   e r r o r   % }                         < h 1 > < / h 1 >                 { %   e l s e   % }                         < s e c t i o n   c l a s s = " p o s t s - c o l l a p s e "   i d = " p o s t " >                                 < s p a n   c l a s s = " a r c h i v e - m o v e - o n " > < / s p a n >                                 < s p a n   c l a s s = " a r c h i v e - p a g e - c o u n t e r " >                                 O K !     { {   p o s t _ l i s t . c o u n t   } }                                     < / s p a n >                         < / s e c t i o n >                 { %   e n d i f   % }                 { %   f o r   p o s t   i n   p o s t _ l i s t   % }                         < a r t i c l e   c l a s s = " p o s t   p o s t - t y p e - n o r m a l " >                                 < h e a d e r   c l a s s = " p o s t - h e a d e r " >                                         < d i v   c l a s s = " e n t r y - t i t l e   h 4 " >                                                 < a   h r e f = " { %   u r l   ' d e t a i l '   i d = p o s t . i d   % } " >   < s p a n   i t e m p r o p = " n a m e " > { {   p o s t . t i t l e   } } < / s p a n > < / a >                                         < / d i v >                                         < d i v   c l a s s = " p o s t - m e t a " >                                                 < t i m e   c l a s s = " p o s t - t i m e " > { {   p o s t . d a t e t i m e | d a t e : " Y - m - d "   } } < / t i m e >                                         < / d i v >                                 < / h e a d e r >                         < / a r t i c l e >                 { %   e n d f o r   % }         < / d i v > { %   e n d b l o c k   % } i f { %   e x t e n d s   ' b a s e . h t m l '   % } { %   b l o c k   c o n t e n t   % }         < d i v   c l a s s = " c o n t a i n e r " >                 : < b > { {   p o s t _ l i s t . f i r s t . c a t e g o r y   } } < / b > { {   p o s t _ l i s t . c o u n t   } }                   { %   f o r   p o s t   i n   p o s t _ l i s t   % }                         < d i v   c l a s s = " p a n e l - b o d y " >                                 < d i v   c l a s s = " e n t r y - h e a d e r   p a g e - h e a d e r " >                                         < d i v   c l a s s = " e n t r y - t i t l e   h 4 " >                                                 < a   h r e f = " { %   u r l   ' d e t a i l '   i d = p o s t . i d   % } " > { {   p o s t . t i t l e   } } < / a >                                         < / d i v >                                         < d i v   c l a s s = " e n t r y - m e t a " >                                                 < p > T i m e < t i m e > { {   p o s t . d a t e t i m e | d a t e : " Y - m - d "   } } < / t i m e >                                                         < a   h r e f = " { %   u r l   ' t a g '   t a g = p o s t . c a t e g o r y   % } " > { {   p o s t . c a t e g o r y   } } < / a >                                                 < / p >                                         < / d i v >                                         < d i v   c l a s s = " e n t r y - c o n t e n t "   i t e m p r o p = " d e s c r i p t i o n " >                                                 { %   l o a d   m a r k d o w n _ d e u x _ t a g s   % }                                                 { {   p o s t . c o n t e n t | t r u n c a t e c h a r s _ h t m l : 5 0   } }                                                 < a   h r e f = " { %   u r l   ' d e t a i l '   i d = p o s t . i d   % } " > R e a d   M o r e < / a >                                         < / d i v >                                 < / d i v >
                        < / d i v >                 { %   e n d f o r   % }         < / d i v > { %   e n d b l o c k   % } { %   e x t e n d s   ' b a s e . h t m l '   % } { %   b l o c k   c o n t e n t   % }         < d i v   c l a s s = " c o n t a i n e r " >                 < d i v   c l a s s = " p a n e l - b o d y " >                         < d i v   c l a s s = " e n t r y - h e a d e r   p a g e - h e a d e r " >                                 < h 1   c l a s s = " e n t r y - t i t l e " > { {   p o s t . t i t l e   } } < / h 1 >                         < / d i v >                         < d i v   c l a s s = " e n t r y - m e t a " >                                 < p > T i m e < t i m e > { {   p o s t . d a t e t i m e | d a t e : " Y - m - d "   } } < / t i m e >                                         < a   h r e f = " { %   u r l   ' t a g '   t a g = p o s t . c a t e g o r y   % } " > { {   p o s t . c a t e g o r y | t i t l e   } } < / a >                                 < / p >                         < / d i v >                         < d i v   c l a s s = " e n t r y - c o n t e n t " >                                 { %   l o a d   m a r k d o w n _ d e u x _ t a g s   % }                                 { {   p o s t . c o n t e n t | m a r k d o w n   } }                         < / d i v >                 < / d i v >         < / d i v > { %   e n d b l o c k   % } m a r k d o w n m a r k d o w n p i p 3   i n s t a l l   d j a n g o - m a r k d o w n - d e u x s e t t i n g s . p y I N S T A L L E D _ A P P S   =   [         ' d j a n g o . c o n t r i b . a d m i n ' ,         ' d j a n g o . c o n t r i b . a u t h ' ,         ' d j a n g o . c o n t r i b . c o n t e n t t y p e s ' ,         ' d j a n g o . c o n t r i b . s e s s i o n s ' ,         ' d j a n g o . c o n t r i b . m e s s a g e s ' ,         ' d j a n g o . c o n t r i b . s t a t i c f i l e s ' ,         ' a r t i c l e ' ,         ' m a r k d o w n _ d e u x ' ] < d i v   c l a s s = " e n t r y - c o n t e n t " >       { %   l o a d   m a r k d o w n _ d e u x _ t a g s   % }       { {   p o s t . c o n t e n t | m a r k d o w n   } } < / d i v > d j a n g o
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则