如何用python和web.py搭建一个网站

如题所述

    环境搭建。

环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi) + web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。有需要同学让我传一个或者网盘发一把就行。

装apache并配置python-wscgi,这个比较惨,花了好多时间去搜索才搞定,主要是windows上的python-wscgi不好难找。
为了节省以后的开发时间,我把配置好的apache给打包了,反正也是绿色的,新建网站只需要在服务器上配置开机启动apache,并在apache的config里面修改下自己网站路径就行。

2. 开发。

开发阶段倒是没什么好说的,web.py官方有教程,不过这里我需要提几点建议:
如果可以务必全站用utf-8编码。

建立数据库建议写个生成脚本,比如createDataBase.py,有改动重新运行一遍,不要试用ide去建。

一. 基本概念

因特网起源于美国国防部高级研究计划管理局建立的阿帕网。网站(Website)开始是指在因特网上根据一定的规则,使用HTML(标准通用标记语言下的一个应用)等工具制作的用于展示特定内容相关网页的集合。

二. 建设网站考虑因素

1、网站的客户服务群体;

2、网站的内容方向和性质;

3、网站的功能描述和结构分析;

4、网站的用户体验;

5、网站的盈利方式;

6、网站的未来发展方向。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-09
最近做了个项目,由于规模不大使用python + web.py框架,并且既可以在windows又可以在linux里面跑,确实很方便,开发也容易。
下面说说如何搭建这么个网站:
1. 环境搭建。
环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi) + web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。有需要同学让我传一个或者网盘发一把就行。
如果在windows,最好在win7以上版本,我用win8。linux则ubuntu较好,建议12.04以上版本,不过linux我仅仅是开发用过,最终运行的服务器是采用windows+apache:

安装python2.7.10,可以去官方网站下载,注意要把python路径加入系统环境变量。版本不能低于2.7.9,但不能用3.0以上,web.py支持不好。
安装web.py, 官方网下载来装就行,记得是解压后进去:python setup.py install
安装wingIDE,这个是最好用的python编辑器,可惜只能有几天试用,我就是不停的试用进行开发,用它的好处就是代码可以跳转并且支持调试,需要调试直接将程序文件run起来,单步下段点都可以。
装apache并配置python-wscgi,这个比较惨,花了好多时间去搜索才搞定,主要是windows上的python-wscgi不好难找。
为了节省以后的开发时间,我把配置好的apache给打包了,反正也是绿色的,新建网站只需要在服务器上配置开机启动apache,并在apache的config里面修改下自己网站路径就行。
2. 开发。
开发阶段倒是没什么好说的,web.py官方有教程,不过这里我需要提几点建议:
如果可以务必全站用utf-8编码。
建立数据库建议写个生成脚本,比如createDataBase.py,有改动重新运行一遍,不要试用ide去建。
下面是我这个项目网站代码入口文件的删减版:
[python] view plain copy
# -*- coding: utf-8-*-

import sys
import os
if "index.py" != __file__:
#这里切换工作目录主要是为了支持apache,让可以从任意路径运行此文件
sys.path.append(os.path.dirname(__file__))
os.chdir(os.path.dirname(__file__))

import re
import datetime

import web

web.config.debug = False

urls = (
"/", "Index",
"/index", "Index",

#....省略若干行业务url定义

#这里是为了调试的时候能够正常显示静态文件
'/(.*.(ico|png|jpg|jpeg|gif|js|bmp|css|svg|eot|ttf|woff]))', 'StaticFile',
)

app = web.application(urls, globals())

#请保证数据库中有相应的表存储session,建表方法参考web.py的cookbook,不建议试用文件存session,多线程有问题
#init session
db = web.database(dbn='sqlite', db='db/StoneTeachMgr.s3db', driver="sqlite3")
store = web.session.DBStore(db, 'sessions')
sessionInit = {
"userId":None,
"userName":None,
"accessClass":None,
}
web.config._session = web.session.Session(app, store, initializer=sessionInit)
web.config.session_parameters['cookie_name'] = 'StoneTeachMgr_session_id'
web.config.session_parameters['cookie_domain'] = "magicclass.org"
web.config.session_parameters['timeout'] = 600, #in seconds
web.config.session_parameters['ignore_expiry'] = True
web.config.session_parameters['ignore_change_ip'] = True
web.config.session_parameters['secret_key'] = 'xxxxxxxxxx'
web.config.session_parameters['expired_message'] = 'Session expired'
#init session end

class StaticFile:
def GET(self, file, suffix):
web.seeother('/static/'+file); #重定向

class Index:
def GET(self):
courseRender = web.template.frender('templates/index.html')
return render()

#这里这么写就可以即支持apache又支持直接运行此脚本运行网站
if not __name__ == "__main__":
application = app.wsgifunc()
else:
app.run()

3. 发布网站。
发布网站用apache+pywscgi即可,当然如果用户少需求不高直接在命令行python index.py 8080也能让网站跑起来,但是这样有几个缺点:
a. 所有到这台服务器这个系统的8080端口访问都变成了这个网站,也就是说如果你无法指定特定域名了。
b. 静态文件都是每次去读文件非常慢,比如你的网站logo,网站js,字体等,会极大的拖慢网站速度!!!这个非常严重,这个是我试用apache的主要原因。专业服务器程序优化的好,实测快了不少。
这里放以下apache中配置文件的修改段落:
文件:apache24/conf/httpd.conf
[plain] view plain copy
#for webpy start
LoadModule wsgi_module modules/mod_wsgi-py27-VC9.so
WSGIScriptAlias / "D:/web/StoneTeachMgr/index.py"
Alias /css "D:/web/StoneTeachMgr/static/css"
Alias /fonts "D:/web/StoneTeachMgr/static/fonts"
Alias /images "D:/web/StoneTeachMgr/static/images"
Alias /js "D:/web/StoneTeachMgr/static/js"
<Directory "D:/web/StoneTeachMgr/static">
AllowOverride all
Order allow,deny
Allow from all
</Directory>
#for web py end
D:/web/StoneTeachMgr/为网站路径
Alias那几行是定义网站的静态文件路径
主要是:WSGIScriptAlias / "D:/web/StoneTeachMgr/index.py"定义网站程序入口
主要就这点配置,另外apache的其它配置比如Listen则看需求自己改了

暂时就写这点,等有空了就补充,把配置方法也给补上。
第2个回答  2016-09-09
1. 环境搭建。

环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi) + web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。有需要同学让我传一个或者网盘发一把就行。

如果在windows,最好在win7以上版本,我用win8。linux则ubuntu较好,建议12.04以上版本,不过linux我仅仅是开发用过,最终运行的服务器是采用windows+apache:

安装python2.7.10,可以去官方网站下载,注意要把python路径加入系统环境变量。版本不能低于2.7.9,但不能用3.0以上,web.py支持不好。
安装web.py, 官方网下载来装就行,记得是解压后进去:python setup.py install
安装wingIDE,这个是最好用的python编辑器,可惜只能有几天试用,我就是不停的试用进行开发,用它的好处就是代码可以跳转并且支持调试,需要调试直接将程序文件run起来,单步下段点都可以。
装apache并配置python-wscgi,这个比较惨,花了好多时间去搜索才搞定,主要是windows上的python-wscgi不好难找。
为了节省以后的开发时间,我把配置好的apache给打包了,反正也是绿色的,新建网站只需要在服务器上配置开机启动apache,并在apache的config里面修改下自己网站路径就行。

2. 开发。
开发阶段倒是没什么好说的,web.py官方有教程,不过这里我需要提几点建议:
如果可以务必全站用utf-8编码。
建立数据库建议写个生成脚本,比如createDataBase.py,有改动重新运行一遍,不要试用ide去建。本回答被网友采纳

如何用python和web.py搭建一个网站
1、 环境搭建。安装python2.7.10,注意要把python路径加入系统环境变量。版本不能低于2.7.9,但不能用3.0以上,web.py支持不好。安装web.py, 官方网下载来装就行,记得是解压后进去:python setup.py install,安装wingIDE,这个是最好用的python编辑器,装apache并配置python-wscgi,2. 开发。建...

如何用python和web.py搭建一个网站
1. 环境搭建。环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi) + web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。有需要同学让我传一个或者网盘发一把就行。如果在windows,最好在win7以上版本,我用win8...

python框架web.py,快速实现登录和展示网页开发
第一步:安装web.py 要开始使用web.py,首先需要访问其官方网站(webpy.org\/),了解其功能与特性。接下来,使用Python的包管理工具pip安装web.py。在命令行中输入以下命令进行安装:`pip install web.py`。默认情况下,安装的版本为0.62,通过`pip list`命令可以查看已安装的包列表。成功安装后,可...

linux下python和webpy怎么搭建
web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)app.run()注意index.py需要使用命令chmod +x index.py加入可执行权限 将index.py放入\/data\/www(我所使用的目录你可以修改)修改nginx.conf配置 index要加入index.py Nginx的配置加入 点击(此处)折叠或打开 location \/ { ...

python网页制作?
使用python创建web静态网站打开pyCharm企业版软件,创建一个Django项目,其中Django是一个Web框架,用于帮助开发交互式网站的工具。生成项目文件如下图所示:在url.py文件中添加为:在view.py文件中添加:在templates文件夹中新建index.html文件 其中a为超链接标签,在此使用了一个模板标签,是用大括号和...

如何部署python web程序
1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。2、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。脚本第一行一定要写上 #!usr\/bin\/python 表示该脚本文件是可执行python脚本 如果python目录不...

python怎么做网站
MTV模式。如果你使用的IED是pycharm,那么可以直接右键新建Django项目最为新手,你可以看一下菜鸟的Django教程:http:\/\/www.runoob.com\/django\/django-tutorial.html然后再看官方文档,结合一些视频课程一起学习,学习资源还是挺丰富的。当然,除了上面两个常用的python Web框架之外,还有许多框架可以选择。

编写一个简单的网页?
怎么用python简单的制作一个网页1、环境搭建。环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi)+web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。2、首先,打开python并创建一个新的PY文件。其次,importos,因为...

Python可以开发网站吗?
Python是可以开发网站的,国内的豆瓣就是典型的Python开发的;使用python Django做网页的步骤:1 、创建一个django项目(使用django-admin.py startproject MyDjangoSite )2、建立视图 from django.http import HttpResponsedef hello(request): return HttpResponse("第一个简单的python django项目。")3、...

python 进行web 开发 怎么配置环境
接下来,创建一个 Python 项目,在 E 盘创建一个名为"PythonProject"的项目,使用下边的命令:1 django-admin.py startproject PythonProject 如果没有配置环境变量的话,可能会遇到“'django-admin' 不是内部或外部命令,也不是可运行的程序或批处理文件”这样的错误,django-admin.py 文件在 E:\\...

相似回答