django sharing

15
DJANGO a little sharing 陳炯廷 @ House123 [email protected] 13年7月9星期

Upload: tom-chen

Post on 15-Jan-2015

197 views

Category:

Technology


5 download

DESCRIPTION

Django sharing on django tutorial Taipei on July 9th.

TRANSCRIPT

Page 1: Django sharing

DJANGOa little sharing陳炯廷 @ House123

[email protected]

13年7月9⽇日星期⼆二

Page 2: Django sharing

JINJA2http://jinja.pocoo.org/docs/

13年7月9⽇日星期⼆二

Page 3: Django sharing

{%- %}就不會出現空⽩白⾏行 (潔癖 orz)

13年7月9⽇日星期⼆二

Page 4: Django sharing

{{ movie.is_showing() }}

13年7月9⽇日星期⼆二

Page 5: Django sharing

settings.pyfrom  unipath  import  PathPROJECT_DIR  =  Path(__file__).ancestor(3)MEDIA_ROOT  =  PROJECT_DIR.child(‘media’)STATIC_ROOT  =  PROJECT_DIR.child(‘static_collected’)

13年7月9⽇日星期⼆二

Page 6: Django sharing

settings.py

keys  =  [        'FACEBOOK_APP_ID',        'FACEBOOK_API_SECRET',        'AWS_ACCESS_KEY_ID',        'AWS_SECRET_ACCESS_KEY',        'MANDRILL_API_KEY',        'ANALYTICS_CODE',        'BROKER_URL',]

for  key  in  keys:        if  key  not  in  locals():                if  key  not  in  os.environ:                        print  '%s  not  found  in  ENVIRONMENT'  %  key                else:                        vars()[key]  =  os.environ[key]

13年7月9⽇日星期⼆二

Page 7: Django sharing

virtualenvwrapper

$  workon  moviefun(moviefun)$  

13年7月9⽇日星期⼆二

Page 8: Django sharing

virtualenvwrapper

[~/envs/moviefun/bin/postactivate]export  AWS_ACCESS_KEY_ID=blablablaexport  AWS_SECRET_ACCESS_KEY=blablabla

13年7月9⽇日星期⼆二

Page 9: Django sharing

moviefun.twmoviefun.com.hk

def  nav(request):        if  request.path[0]  ==  '/':                path  =  request.path[1:]        else:                path  =  request.path

       splited  =  path.split('/')        out  =  {}

       for  index,  part  in  enumerate(splited):                out['nav_%d'  %  index]  =  part

       domain_name  =  request.META.get('HTTP_HOST').split(':')[0]

       out['query_city']  =  'taipei'        if  domain_name.split('.')[-­‐1]  ==  'hk':                out['query_city']  =  'hongkong'

       return  out

context_processors.py

13年7月9⽇日星期⼆二

Page 10: Django sharing

def  analytics(request):        if  hasattr(settings,  'ANALYTICS_ACCOUNT'):                return  {'ANALYTICS_ACCOUNT':  settings.ANALYTICS_ACCOUNT}

       return  {}

context_processors.py

13年7月9⽇日星期⼆二

Page 11: Django sharing

dir layoutmoviefun/    django/        moviefun/            settings/        ticket/        templates/        static/            3rd_party/                jQuery/                    1.10.2/            css/            js/            images/        media/        static_collected/

13年7月9⽇日星期⼆二

Page 12: Django sharing

moviefun/    django/        moviefun/            settings/        ticket/        templates/        static/            3rd_party/                jQuery/                    1.10.2/            css/            js/            images/        media/        static_collected/

dir layout

heroku要在第⼀一層

13年7月9⽇日星期⼆二

Page 13: Django sharing

BULK IMPORTMicrosoft Excel

xlrdxlwd

13年7月9⽇日星期⼆二

Page 14: Django sharing

CELERY / GEVENT

13年7月9⽇日星期⼆二

Page 15: Django sharing

DJANGO-COMPRESSORDJANGO-PIPELINE

13年7月9⽇日星期⼆二