Home >Web Front-end >HTML Tutorial >python flask html/css mysql BAE creates a CSDN resume automatic generation system (with complete source code of the website)_html/css_WEB-ITnose

python flask html/css mysql BAE creates a CSDN resume automatic generation system (with complete source code of the website)_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:55:201360browse

1. Background


I have always wanted to write a web app for fun. A few days ago, I saw a web-app automatically generated by github resume, so I started to copy it. A csdn resume generator. The structure is very simple, the front end is an html/css file (this imitates the github web page, because the blogger doesn't know much about the front end). The background is a crawler software that can crawl personal information from csdn, display it, and finally deploy it to Baidu Cloud. Baidu's cloud database is really a scam. I have been debugging it for a long time, but I still can't insert data. Okay, let’s take a picture first, the project address is http://resumecsdn.duapp.com/.


                                                       (2) Generated Resume



2. Project introduction

(1) Front-end


The front-end is mainly html and css. I modified this by referring to other people’s work. It should be easier for people who have coding experience. The interaction between the front-end and the back-end is mainly by setting the method in the html first, and then transmitting the data like {{{data}}. This is relatively easy. You can understand it at a glance in the code, so I won’t go into details.

(2) flask

flask is a relatively lightweight python web framework. The blogger originally planned to use Douban That one (Douban’s backend is written in python), but found it too difficult, so I switched to flask. The benefits of flask are very straightforward.

Like this, you can directly obtain the web page path using app.route, and render_template('index.html') opens the index page. You can take a look at its file structure. All HTML is stored in the template folder, and css configuration files and databases can be placed in the static folder.


The advantage of this framework is that you can start working on it just by looking at the examples. I recommend a website: http://maximebf.com/blog/2012/10/building-websites-in- python-with-flask/

@app.route('/')def home():   #mysql_manager.sql_connect()       return render_template('index.html')@app.route('/signup', methods=['POST'])def signup():    #session['username'] = request.form['username']    session['message'] = request.form['message']    return redirect(url_for('message'))


(3) crawler


Introduce the crawler file , which is the crawler file in the background. Because it is disguised as a browser browsing, a head is added to avoid some anti-crawler websites. The rest is to use urllib's function and regular matching, which is easier to do.


(4) Deploy to BAE

headers = {      'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'       }     req = urllib2.Request(      url='http://blog.csdn.net/'+name,      headers = headers      )  
What does BAE say? There are very few mysql function documents. This makes me very unhappy. But other functions are still available, especially third-party libraries that support many Python, which can be defined in requirements.txt.
Usage: Register an account, and then it will give you a git address and clone it locally. Then you can modify it. Of course, you have to push it after the modification. You have to click "Quick Publish" every time you modify it.



Here are some things to note:


1. First is app.conf, and add an asterisk to the url.


2. Then, add the required third-party libraries to requirements.txt, so that bae will automatically install them for you.

handlers:  - url : /.*    script: __init__.py


3. Pay attention to the difference between local debugging and putting it in BAE

flaskMySQL-python

Local debugging The running program is the following statement in the __init__.py file, and then you can view it in the browser


Put it on BAE for local debugging Comment out the statement and add in __init__.py:

if __name__ == '__main__':     app.run()


4. Pay attention to killing the thread after each local debugging. The method is in the shell Here:

from bae.core.wsgi import WSGIApplication  application = WSGIApplication(app)  
Then kill the corresponding ID number

lsof -i:5000


-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----

Almost that these are enough. If you want to know a deeper understanding, you can go to the project to see the GitHub address project demonstration address

When you are troubled by everyone, give a STAR, have Star100 project It has always been my dream




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

* Please indicate the source for reprinting: http://blog.csdn. net/buptgshengod

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



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn