如何用Python搭建一个网站?

Python搭建网站,利用现成的框架还是挺简单的。在这里举一个例子-利用Flask搭建一个网站。

Flask

Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。Flask创建一个应用很简单,只需要一行代码就可以创建一个应用。一个最小的应用看起来像这样:

直接执行pythonhello.py,就可以看到页面就可以访问了,这只是官方给出的一个示例,方便学习。

应用初始化

所有Flask程序都必须创建一个程序实例。Web服务器使用一种名为Web服务器网关接口(WebServerGatewayInterface,WSGI)的协议,把接收自客户端的所有请求都转交给这个对象处理。程序实例是Flask类的对象,经常使用下述代码创建:

Flask类的构造函数只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序中,Python的__name__变量就是所需的值。

路由和视图函数

客户端(例如Web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到Python函数的映射关系。处理URL和函数之间关系的程序称为路由。在Flask程序中定义路由的最简便方式,是使用程序实例提供的app.route修饰器,把修饰的函数注册为路由。下面的例子说明了如何使用这个修饰器声明路由:

index()函数注册为程序根地址的处理程序。如果部署程序的服务器域名为,在浏览器中访问p>

启动服务器

程序实例用run方法启动Flask集成的开发Web服务器:

__name__=='__main__'是Python的惯常用法,在这里确保直接执行这个脚本时才启动开发Web服务器。如果这个脚本由其他脚本引入,程序假定父级脚本会启动不同的服务器,因此不会执行app.run()。服务器启动后,会进入轮询,等待并处理请求。轮询会一直运行,直到程序停止,比如按Ctrl-C键。

Flask开发的网站实例

本示例中网站的结构如下

启动服务器界面

访问WEB页面

整个是利用Flask自己搭建的一个WEB页面,数据库试过mysql和mongodb都可以正常访问。整体感觉Flask的学习成本会比Django低,而且也比Django更灵活。



  • (web寮鍙)鐢╬ython鍒涘缓涓涓鏈绠鍗曠殑缃戠珯?
    绛旓細1鍏堝畾涔涓涓鍑芥暟锛岀敤鏉ュ悜缃戠珯鏈嶅姟鍣ㄥ彂閫佽姹傦細defyingyong(environ,start_response):start_response('200OK',[('Content-Type','text/html')])return[b'HowAre!']瑕佹眰缃戠珯鍦ㄧ綉椤涓婃樉绀虹矖浣撶殑HowAre!2瀵煎叆wsgi妯″潡鐨勫瓙妯″潡锛岀敤鏉ュ垱寤烘湇鍔″櫒銆俧romwsgiref.simple_serverimportmake_server銆3鍒涘缓鏈嶅姟鍣紝I...
  • 濡備綍鐢≒ython鍋涓涓綉绔?
    绛旓細Install pipinstallDjango 2.鏂板缓涓涓宸ョ▼ django-adminstartprojectmysite 鐒跺悗锛屾垜浠細寰楀埌涓涓繖鏍风殑鏂囦欢缁撴瀯 璇风偣鍑昏緭鍏ュ浘鐗囨弿杩 pythonmanage.pyrunserver0.0.0.0:8888 鐒跺悗锛屼綘灏卞彲浠ュ湪娴忚鍣ㄥ湴鍧鏍忎腑杈撳叆 璇风偣鍑昏緭鍏ュ浘鐗囨弿杩 鎭╋紝杩愯鍒拌繖閲岋紝灏辫鏄庢病鏈夊嚭鐜颁粈涔堟湭鐭ョ殑閿欒鍝 浣嗘槸锛岀幇鍦ㄦ垜浠殑缃戠珯杩...
  • 鎬庝箞鐢╬ython鍐缃戠珯
    绛旓細1銆佸鍏jango鍖 鍙洿鎺鍦╬ycharm涓嬭浇锛屾垨鑰卲ip/easy_install 2銆佽缃幆澧冨彉閲 path 娣诲姞 C:Python27Libsite-packagesdjangobin;C:Python27Scripts 3銆佹柊寤涓涓宸ョ▼ D:>django-admin.py startproject mysite 4銆佸伐绋嬩笅鏂板缓涓涓猘pp D:mysite> python manage.py startapp blog 5銆佸垵濮嬪寲admin鍚庡彴鏁版嵁搴...
  • 鎬庝箞鐢╬ython绠鍗曠殑鍒朵綔涓涓綉椤
    绛旓細1銆佹墦寮sublime text 3锛屾柊寤轰竴涓狿Y鏂囦欢銆2銆乮mport os锛屽洜涓烘秹鍙婂埌绯荤粺鏂囦欢璺緞鐨勫師鍥狅紝鎴戜滑杩欓噷鍏堝鍏ョ郴缁熸ā鍧椼3銆乭tml = open("E:\\Download\\new\\new.html", "w")锛屽垱寤哄彉閲忥紝鐒跺悗璁剧疆鏂囦欢鍚嶅瓧锛屾敞鎰忕敤w鍐欐柟寮忔潵杩涜锛岃繖鏍峰氨浼氬垱寤轰竴涓柊鐨凥TML鏂囦欢銆4銆乭tml.write("<!DOCtype HTML>\ \...
  • Python鍙互寮鍙缃戠珯鍚?
    绛旓細Python鏄彲浠ュ紑鍙缃戠珯鐨勶紝鍥藉唴鐨勮眴鐡e氨鏄吀鍨嬬殑Python寮鍙戠殑锛浣跨敤python Django鍋缃戦〉鐨勬楠わ細1 銆佸垱寤涓涓django椤圭洰锛堜娇鐢╠jango-admin.py startproject MyDjangoSite 锛2銆寤虹珛瑙嗗浘 from django.http import HttpResponsedef hello(request): return HttpResponse("绗竴涓畝鍗曠殑python django椤圭洰銆")3銆...
  • python鎬庝箞鍋缃戠珯
    绛旓細鎯宠鐢╬ython鎼缓缃戠珯锛屽氨蹇呴』瀛︿細鐩稿簲鐨刉eb寮鍙戞鏋讹紝鐜板湪姣旇緝鐑棬鐨剋eb妗嗘灦鏄疐lask鍜孌jango锛岄殢涔嬭屾潵鐨勫氨鏄疕TML銆丣avaScript銆丆SS浠ュ強鏁版嵁搴撶殑鎶鏈紝缁撳悎璧锋潵锛屾墠鑳藉紑鍙戝嚭涓涓綉绔銆Python缃戠珯寮鍙戞鏋1. FlaskFlask 寰堣交锛屾湰韬氨鏄敤Python璇█缂栧啓鐨勶紝鍏煎鎬у緢楂橈紝瀹冮噰鐢╓erkzeug Jinja2妯℃澘锛屽啀鍔犱笂涓绯诲垪...
  • 濡備綍鐢╬ython鍜寃eb.py鎼缓涓涓綉绔
    绛旓細涓銆佷娇鐢ㄥ伐鍏凤細python銆亀eb.py 浜屻鎼缓姝ラ锛1銆 鐜鎼缓銆傚畨瑁卲ython2.7.10,娉ㄦ剰瑕佹妸python璺緞鍔犲叆绯荤粺鐜鍙橀噺銆傜増鏈笉鑳戒綆浜2.7.9锛屼絾涓嶈兘鐢3.0浠ヤ笂锛寃eb.py鏀寔涓嶅ソ銆傚畨瑁厀eb.py, 瀹樻柟缃戜笅杞芥潵瑁呭氨琛岋紝璁板緱鏄В鍘嬪悗杩涘幓锛歱ython setup.py install锛屽畨瑁厀ingIDE锛岃繖涓槸鏈濂界敤鐨刾ython缂栬緫...
  • 濡備綍鐢╬ython鍜寃eb.py鎼缓涓涓綉绔
    绛旓細1. 鐜鎼缓銆傜幆澧冩惌寤烘瘮杈冪箒鐞愶紝璁板緱褰撴椂涔熸槸婊′笘鐣屾壘璧勬枡锛屾墍浠ユ垜鐩存帴鎵撳寘濂戒簡鎵鏈夌殑鏂囦欢锛坅pache(宸茬粡鏀捐繘鍘python-wscgi) + web.py+apache鎵闇瑕佺殑vs2010杩愯搴+python+缃戠珯鏂囦欢锛夛紝鐩存帴瑙e帇鏀句笂鍘诲氨鑳界敤銆傛湁闇瑕佸悓瀛﹁鎴戜紶涓涓鎴栬呯綉鐩樺彂涓鎶婂氨琛屻傚鏋滃湪windows锛屾渶濂藉湪win7浠ヤ笂鐗堟湰锛屾垜鐢╳in8...
  • 濡備綍鍒涘缓涓涓Django缃戠珯
    绛旓細url(r'^admin/', include(admin.site.urls)), #鍙互浣跨敤璁剧疆濂界殑url杩涘叆缃戠珯鍚庡彴鎺ヤ笅鏉ユ垜浠渶瑕佸垱寤涓涓绠$悊鐢ㄦ埛鏉ョ櫥褰 admin 鍚庡彴绠$悊鐣岄潰:$ python manage.py createsuperuserUsername (leave blank to use 'june'): adminEmail address:Password:Password (again):Superuser created successfully.鎬荤粨鏈鍚,鏉ョ湅...
  • 鐢╬ython寮鍙涓涓鐗╂祦web浠g爜
    绛旓細1.Remi搴撶畝浠婻emi鏄涓涓鐢ㄤ簬Python搴旂敤绋嬪簭鐨凣UI搴擄紝瀹冨皢搴旂敤绋嬪簭鐨勭晫闈㈣浆鎹负HTML锛屼互渚垮湪Web娴忚鍣ㄤ腑鍛堢幇銆備弗鏍煎湴璇达紝鎴戜滑涓嶈兘鐢≧emi搴撴潵缂栧啓浼犵粺鐨缃戠珯锛岃屽彧鑳藉皢瀹冨綋鎴怶eb褰㈠紡鐨凾kinter搴擄紙Python鏈缁忓吀鐨勫浘褰㈢晫闈㈠簱锛夋潵浣跨敤銆傚鏋滆鍋氱綉绔欙紝杩樻槸瑕佽佽佸疄瀹炲鐐瑰墠绔煡璇嗭紝鐒跺悗缁撳悎Python鐨Flask妗嗘灦鏉...
  • 扩展阅读:python初学编程必背 ... 用python编写安卓app ... 免费创建个人网站 ... 学会python兼职可以多少钱 ... 学python用什么软件 ... python脚本控制手机app ... 学python后到底能干什么 ... 学了python再学c++好学吗 ... 大学python考试题库 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网