乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python flask應(yīng)用

       java_laq小館 2014-11-18

      1.背景


             一直想自己動手寫個web app玩玩,前幾天看了一個github的resume自動生成的web-app,所以就動手仿造了一個csdn的簡歷生成器。結(jié)構(gòu)很簡單,前端是 html/css文件(這個模仿了github的那個網(wǎng)頁,因為博主不太懂前端)。后臺是一個爬蟲軟件,可以把csdn的個人信息爬下來,然后顯示出來, 最后部署到了百度云。百度的云數(shù)據(jù)庫,真是坑爹.......,我調(diào)試了半天,目前還無法insert數(shù)據(jù)。好了,先上個圖,項目地址http://resumecsdn./。

                               (1)起始頁面


                             (2)生成的簡歷


      2.項目介紹

         
          (1)前端

             前端主要就是html和css,這個我是參考別人的改的,有過代碼經(jīng)歷的人應(yīng)該都比較容易。前端和后臺的交互,主要是通過先在html里設(shè)置method,然后就可以{{{data}}這樣傳輸數(shù)據(jù)了,這個比較容易,大家在代碼中一看就明白,不多說了。

           (2)flask

              flask是一個比較輕便的python web框架,博主本來打算用豆瓣那個的(豆瓣的后臺是python寫的),但是發(fā)現(xiàn)太難,所以轉(zhuǎn)而用flask。flask的好處是很直接明了。
      1. @app.route('/')  
      2. def home():  
      3.    #mysql_manager.sql_connect()  
      4.       
      5.    return render_template('index.html')  
      6.  
      7. @app.route('/signup', methods=['POST'])  
      8. def signup():  
      9.     #session['username'] = request.form['username']  
      10.     session['message'] = request.form['message']  
      11.     return redirect(url_for('message'))  
             像這樣,利用app.route就可以直接獲得網(wǎng)頁路徑,render_template('index.html')就是打開index頁面。它的文 件結(jié)構(gòu)可以給大家看下,所有的html都是存放在template文件夾,然后css這些配置文件還有數(shù)據(jù)庫可以放到static文件夾。

           這個框架的好處是,基本看一眼例子就可以動手開搞了,推薦一個網(wǎng)站:http:///blog/2012/10/building-websites-in-python-with-flask/


          (3)crawler
        
             介紹一下crawler文件,也就是后臺的爬蟲文件吧。因為要偽裝成是瀏覽器瀏覽,所以加了個head,這樣可以避免一些反爬蟲網(wǎng)站。剩下就是用urllib的函數(shù)加上正則匹配就比較容易搞定了。
      1. headers = {    
      2.     'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'    
      3.      }    
      4.    req = urllib2.Request(    
      5.     url='http://blog.csdn.net/'+name,    
      6.     headers = headers    
      7.     )    

          
        (4)部署到BAE

              BAE怎么說呢,mysql功能文檔很少,這點讓我很不爽。但是其他功能還是可以的,特別是支持很多python的第三方庫,可以在requirements.txt里面定義。
             用法:注冊一個賬號,然后它會給你一個git地址,clone到本地。然后就可以修改了,當(dāng)然,改好了還得push上去,每次修改都得點擊“快捷發(fā)布”。



      下面是一些要注意的地方:

      1.首先是app.conf,url要加星號。
      1. handlers:  
      2.   - url : /.*  
      3.     script: __init__.py  


      2.然后,把需要的第三方庫加在requirements.txt里,這樣bae會自動幫你安好。
      1. flask  
      2. MySQL-python  


      3.注意本地調(diào)試,和放到BAE的區(qū)別

      本地調(diào)試運行程序是以下語句__init__.py文件內(nèi),然后就可以在瀏覽器查看了
      1. if __name__ == '__main__':  
      2.      app.run()  


      放到BAE上要把本地調(diào)試的語句注釋掉,在__init__.py里加上:
      1. from bae.core.wsgi import WSGIApplication    
      2. application = WSGIApplication(app)    


      4.本地調(diào)試每次調(diào)完要注意kill線程,方法是在shell里:
      1. lsof -i:5000  

      然后在kill掉對應(yīng)的ID號


       
           
       --------------------------------------------------------------------------------------------------------------------------------------------------------       
             差不多這些就夠了,大家想更深的了解可以去項目看 github地址   項目演示地址
                 麻煩大家看的時候,給個star,擁有star100+項目一直是我的夢想委屈



      /********************************

      * 本文來自博客  “李博Garvin“

      * 轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/buptgshengod

      ******************************************/


      來自:http://blog.csdn.net/buptgshengod/article/details/40541949


        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多