亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 再求助,webpy的代碼在wsgi中改如何修改? [打印本頁(yè)]

作者: crykun    時(shí)間: 2013-02-04 09:39
標(biāo)題: 再求助,webpy的代碼在wsgi中改如何修改?
webpy初學(xué),有問題不明白,請(qǐng)教各位牛人,感激中....

在使用python code.py調(diào)試環(huán)境中一切正常的webpy應(yīng)用,換到apache+wsgi環(huán)境中就出錯(cuò),
該如何修改?

code.py代碼如下,編碼格式為utf-8 ,是一個(gè)典型的使用模板的hello world.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import web

urls = (
        '/(.*)', 'hello'
)

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

class hello:
        def GET(self, name):
                render = web.template.render('tpl/')
                return render.hello(name)

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

#application = web.application(urls, globals()).wsgifunc()               


模板的 hello.html

$def with (name)
$if name:
    你好阿, $name.
$else:
    你好,世界.

用 python  code.py 啟動(dòng)調(diào)試web服務(wù),一切正常。換到apache+wsgi環(huán)境中就報(bào)錯(cuò),加下最下面一行
application = web.application(urls, globals()).wsgifunc()     
也不行,出現(xiàn)錯(cuò)誤提示:internal server error。




安裝配置好的apache,運(yùn)行下面的code.py正常,

apache的配置:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias  /            "D:/wwwroot/webpy/code.py"
Alias            /static      "D:/wwwroot/webpy/static/"
AddType          text/html    .py

<Directory "D:/wwwroot/webpy">
      Order deny,allow
      Allow from all
</Directory>

code.py重新寫過,hello word,沒有使用模板。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import web

urls = (
      '/hello',    'hello',
        )
      
app = web.application(urls, globals())      

class hello:
      def GET(self):
          return 'Hello word!'

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


在瀏覽中輸入,http://127.0.0.1/hello apche和wsgi提供的服務(wù)一切正常。



請(qǐng)問各位老師,webpy+wsgi中使用模板的話,該怎么寫最后的語(yǔ)句才對(duì)呢?
感激不盡!



作者: thinkc    時(shí)間: 2013-02-04 16:06
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: crykun    時(shí)間: 2013-02-05 09:04
謝謝thinkc的提醒,原因已經(jīng)找到。
apache錯(cuò)誤日志如下:
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1] Traceback (most recent call last):
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\application.py", line 239, in process
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     return self.handle()
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\application.py", line 230, in handle
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     return self._delegate(fn, self.fvars, args)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\application.py", line 420, in _delegate
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     return handle_class(cls)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\application.py", line 396, in handle_class
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     return tocall(*args)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "D:/wwwroot/webpy/code.py", line 15, in GET
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     return render.hello(name)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\template.py", line 1017, in __getattr__
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     t = self._template(name)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\template.py", line 1011, in _template
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     self._cache[name] = self._load_template(name)
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]   File "C:\\Python27\\lib\\site-packages\\web\\template.py", line 1001, in _load_template
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]     raise AttributeError, "No template named " + name
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1] AttributeError: No template named hello
[Tue Feb 05 08:57:58 2013] [error] [client 127.0.0.1]

意思是模板文件沒有找到,修改了code.py如下,問題基本解決。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import web

urls = (
        '/(.*)', 'hello'
)

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

class hello:
        def GET(self, name):
                render = web.template.render('D:/wwwroot/webpy/templates/')    #使用絕對(duì)路徑,相對(duì)路徑該怎么用呢?
                return render.hello(name)

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

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


下一步切換到linux環(huán)境下一試。


作者: thinkc    時(shí)間: 2013-02-05 09:25
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: crykun    時(shí)間: 2013-02-05 11:24
再次感謝thinkc,問題圓滿解決,linux下的實(shí)驗(yàn)也很成功。





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2