白菜粉条汤
make life remembered
  • 首页
  • 分类
    • 随语
    • 杂志
    • 外贸
    • 技术
    • 图片
    • 电影
    • 音乐
    • 饮食
    • 大学
  • 关于
Tag:

python

技术

安装Diango出现的小问题

by 曾经沧海 2009年5月24日

我的是vista,在按照网上的教程安装django后,使用django-admin.py startproject newtest命令运行一直不成功:会直接把django-admin.py文件的内容显示出来。

在前面加个 python, 会提示找不到文件django-admin.py。于是,我在命令行下进入C:\Python26\Scripts, 再运行python django-admin.py startproject newtest,就会看到一个新的文件夹newtest出现,应该是这样了。

我的工作目录想设施为d:\django,于是,我将django-admin.py复制到d:\django,命令行下进入d:\django,运行python django-admin.py startproject newtest,这时候就成功了。

不知道为什么会这样,网上的文章都是说直接用“django-admin.py startproject newtest”就可以运行,而且好像是说任意目录都可以运行,也许只有我自己的电脑是这样?我的系统是vista home版本。

2009年5月24日 0 评论 375 阅读
技术

python程序练习–简单电话薄

by 曾经沧海 2009年5月18日

python程序练习–简单电话薄代码

#python程序练习–简单电话薄 
#樊海军 
#fanhaijun.com 
#Python 2.6.2 

import cPickle as p 
import string 
class phonebook: 
        def __init__(self): 
                pblist=[] 

def pb_add(): 
        #print "This is the ADD function" 
        while 1: 
                print ‘\nPlease input a NEW name["Q" to back to main menu]:\n’ 
                add_name=raw_input("Name:") 

                if add_name=="Q": 
                        main() 
                else: 
                        add_sex=raw_input("Sex:") 
                        add_tel=raw_input("Tel:")                       
                pbdict={"Name":add_name,"Sex":add_sex,"Tel":add_tel}            
                print "You just input:" 
                for i in pbdict.items(): 
                        print ("%s:%-5s  ") % (i[0],i[1]), 

                pb.pblist.append(pbdict) 
                del pbdict 
             print ("\nRecord added sucessfully! Continue?(Y/N)\n")              
        while 1: 
                       con=raw_input() 
            if con=="Y": 
                            pb_add() 
                    elif  con=="N": 
                            pb_save() 
                            main() 
            else: 
                print ("\nError! Continue?(Y/N)\n") 

def pb_browser(): 
        #print "This is the BROWSER function" 
        #print pb.pblist 

        print "\nThere are %s records:\n"% len(pb.pblist) 
        print "*******************************************" 
        print "  ID     NAME     SEX      TEL" 
        print "*******************************************" 
    for i in pb.pblist: 
               #print "===========================================" 
                print "%3s     " % (pb.pblist.index(i)+1), 
                print "%-8s" % i["Name"], 
                print "%-8s" % i["Sex"], 
                print "%-8s" % i["Tel"] 
            print "===========================================" 
        main()  

def pb_del(): 
        #print "This is the DEL function" 

        while 1: 
                print "\nPlease input the ID of the record you want to delete:[Input 0 to main menu]\n" 
                del_id=raw_input() 
                if int(del_id)==0: 
                        main() 
                elif del_id=="" or int(del_id)<0 or int(del_id)>len(pb.pblist): 
                        #print "\nPlease input a RIGHT ID :\n"   
                        continue 

                elif int(del_id)<=len(pb.pblist) and int(del_id)>0: 
                        del pb.pblist[int(del_id)-1] 
            pb_save() 

def pb_search(): 
        #print "This is the SEARCH function" 

    while 1: 
        print "Please input what ever you want to search:" 
        s=str(raw_input()).lower() 
        k=0 
        id_list=[] 
        for i in pb.pblist: 
            if s in i["Name"].lower() or s in i["Sex"].lower()  or s in i["Tel"].lower(): 
                k+=1 
                id_list.append(pb.pblist.index(i)) 
        print "\nThere are %s results:\n"% k 
        #print id_list 

            print "*******************************************" 
        print "  ID     NAME     SEX      TEL" 
        print "*******************************************" 
        for j in id_list: 
            print "%3s     " % str(j+1), 
            print "%-8s" % pb.pblist[j]["Name"], 
                    print "%-8s" % pb.pblist[j]["Sex"], 
            print "%-8s" % pb.pblist[j]["Tel"] 
                print "==========================================="        

                print ("\nContinue?(Y/N)\n") 
        while 1: 
                       con=raw_input() 
            if con=="Y": 
                            pb_search() 
                    elif  con=="N": 
                            main() 
            else: 
                print ("\nError! Continue?(Y/N)\n")

def pb_file(): 
        #print "This is the file function" 
        try: 
                f=file(pbfile) 
                pb.pblist=p.load(f) 
        except: 
                pb.list=[] 
        finally: 
                f.close() 

def pb_save(): 
        #print "This is the SAVE function" 
        try: 
                f=file(pbfile,"w") 
                p.dump(pb.pblist,f) 
                print "\nRecords saved successfully!\n" 
        finally: 
                f.close() 

def pb_quit(): 
        print "Thanks for your using!" 
        exit() 

def main(): 
        print """\ 
____________________________________________________  
|       Please select your choice:                 | 
|__________________________________________________| 
|       [A]: Add a record.                         | 
|       [B]: Browser the records.                  | 
|       [D]: Delete a record.                      | 
|       [S]: Search.                               | 
|       [Q]: Quit.                                 | 
|__________________________________________________| 
        \ 
        """ 
        while 1: 
                opp=raw_input() 
                if opp=="A": 
                        pb_add() 
                if opp=="B": 
                        pb_browser() 
                if opp=="D": 
                        pb_del() 
                if opp=="S": 
                        pb_search() 
                if opp=="Q": 
                        pb_quit() 

pb=phonebook() 
pbfile=("pb.dat") 
pb_file() 

main()
2009年5月18日 0 评论 368 阅读
技术

python, Zope,Plone之间的关系和安装

by 曾经沧海 2009年5月13日

Plone
Plone是什么?
Plone是免费的、开放源代码的内容管理系统(Content Management System,CMF)。Plone着重于适合各种组织使用。它带有一个工作流引擎、预先配置的安全和角色系统、一组内容类型和多语言支持。有来自全世界的众多开发者、作者和测试者每天为Plone做各种贡献。Plone是基于内容管理框架的。(Content Management Framework)。
主页:http://www.plone.org  中文主页:http://www.czug.org 中文商业支持:http://www.zopen.cn

什么是内容管理系统?

要给内容管理系统(CMS)下个定义很困难,比找个要卖给你CMS的人还难。简单来说,CMS用来管理内容,通常是为了web site管理内容。CMS的主要目的是用来方便的进行内容的创建、发布和修复,以适应商业应用。

内容管理的麻烦在于它的琐碎或不可能实现

不同CMS可以是否集成web分成两类:基于web的系统和非基于web的系统。Plone是免费的、开放源代码的基于web的内容管理系统。

为什么使用基于web的内容管理系统?

理解Plone这样的内容管理系统最简单的方法就是将它与标准web站点设计工具(如Macromedia Dreamweaver)进行比较。他们都可以在远程计算机上制作页面,并提交用来确认或发布。但有以下四个方面的区别:

任何具有所需权限的用户可在任何位置制作网页,使用标准浏览器,无需任何特殊软件。CMS的使用比Dreamweaver和FTP容易,只需很少的培训,许多制作任务可分配给不熟练的人员。因此,CMS使得更多的用户可在WEB上创建和编辑内容。同时,较少的培训和较低的技巧使得制作和维护的成本降低。

通过输入文本、上载文件到站点预先制作的模板中来制作页面,保证页面的统一风格。即使直接制作发布web页面的人员非常多,也可保证风格的统一,更重要的是内容结构的一致性也可保证。

CMS中的工作流控制可充分使用,web管理员的工作可有效的分配给工作在不同地点人员,并不会降低安全性,并保证质量标准。

不同版本的文档自动保存,需要时可进行自然的审核跟踪。

内容管理系统的这些优点对大型组织或大型合作项目更为重要。

什么是内容管理框架?

内容管理框架是一个应用,包括一系列Zope工具。这些工具构成的框架提供了许多内容管理系统需要的关键服务。内容管理框架可作为单独产品使用,或者如 Plone一样建立在它的基础之上。内容管理框架提供了核心的工具如Workflow(工作流)、个性化和目录化。内容管理框架的开发由Zope公司领导,是一个开发源代码的产品,受益于世界上众多的开发者的辛勤劳动。

主页:http://cmf.zope.org

什么是Zope?

Zope是一种开发源代码的web应用服务器,用python语言编写。它是可升级、稳固、功能强大的系统,包括一个对象数据库、web服务器和多种模板语言。Zope主要由Zope公司开发和提供支持,也可从来自世界各地的开发者得到帮助。

主页:http://www.zope.org 中文主页:http://www.czug.org 中文商业支持:http://www.zopen.cn

为什么使用Zope和Plone?

Zope和Plone是开放源代码软件(OSS),也就是说任何人可自由取得源代码。制作Zope和Plone的人的商业模型是从咨询服务中获取利益,主要在于定制或企业化应用。其他开放源代码CMS系统还有Midgard,Bitflux,OpenCMS和Wyona。

专有的和开放源代码的内容管理系统从技术上讲并没有什么不同。在两个阵营中,都有好的、中等的和较差的产品。文档和支持的质量也有很大不同。主要的不同是开放源代码的CMS相比专有系统而言,开放源代码的CMS由较小的公司制作。这就增加了对这些小公司能够持续多长时间,能够提供怎样的支持的怀疑。以我来看,不同之处更多的是表面的,而不是实际的东西。开放源代码的产品更小,对一个客户或一个关键人物的离去更加敏感,而专有系统产品较大,受收购(如 Allaire被Macromedia收购)和IT股票市场的反复无常(如Broadvision)的影响。不同在于,对开放源代码产品,用户可以取得源代码,可以进行维护、定制和开发。没有制作者的积极介入,这些工作对专有系统是无法完成的。这才是采用开放源代码产品的关键原因。

为什么采用Zope和Plone而不是其他开放源代码的CMS?Plone基于Zope,Zope是为建设内容管理软件的一个框架。在某种意义上, Zope是web应用的操作系统。CMF就是一个web应用,用来方便建设CMS。Plone就是一个基于CMF,运行在Zope上的内容管理系统,带有自己的一组模板和文件类型。以我们的观点(我们指的是由Web和Internet指导组WISG设立的CMS工作组的观点)Zope比其他竞争性产品更胜一筹在于以下原因:

Zope是面向对象的,在某种意义上,在Zope中出现的所有内容(网页、图像、链接、文件等)都是对象,包含在一个对象数据库中。数据库是层次化的,而不是关系型的,特别适合于层次化的文件结构。技术人员会认为数据库是行列结构的表格的集合,与主键值相关。Zope的数据库是不同的,与普通的文件系统结构很类似,对象包含在对象中。

Zope对象数据库中包含对象的所有老版本,这对撤销修改,对协作文档的版本控制和需要审核轨迹的元素非常有用。

Zope中包括大量特别适合大型组织和协同工作的工具,后面的手册中会介绍。例如:预定义的数据库搜索,基于灵活的搜索标准,自动显示符合特定用户定义条件的所有对象。

Zope可在所有平台上使用,包括:Unix,Linux,Mac OS和广受欢迎的Windows(98,2000,XP,NT),而其他开放源代码CMS或专有系统并非如此。

Zope是一个非常友好的开发环境。可通过点击按钮完成脚本的定制拷贝,而将原始版本保留在原来的位置,这是我遇到过的具有最好安全性的系统。

Zope中可方便的设计结构化XML文档,带有链接到文档结构的工作流。这是大型组织管理系统的基本特性,促进了文档结构和风格的一致性和流水线工作流。

最后,Zope为大型组织使用而设计,具有以下特性:大量贡献者致力于合作项目,他们位于不同地点,使用不同的平台。强大的组织需要灵活性和安全性,需要定义具有不同浏览、书写、编辑、批准大型项目不同部分权限的本地角色,可伸缩到大量对象和服务器。

第七,Zope team与竞争者的文化的不同对大型组织至关重要。Zope的一个客户US Navy,使用Zope管理RDproject,这是一个大型,公共部门组织,关注灵活性和安全性,对大部分公司都一样,无论公共的还是私有的。

就Plone(区别于Zope)而言,我认为超越基于Zope的通用的CMS的概念。Plone至少给Zope增加了两个有用的特性,对工程科学web站点非常重要:

整洁、雅致的导航框架,依赖于文件夹和内容视图,而不是html文档链接(需要更新)。受益于导航快捷方式(如公告栏,显示最近几天创建和修改的对象,避免了要浏览整个站点才能找到这些对象)的帮助

创建复杂结构文档的简单工具,如PIQ和UPC表单,每个文档的不同部分对不同的观众可见,可定制的确认路径

第一个特性使基于Plone的站点可以简单,快速的开始使用。第二个特性使它易于管理,不像其他CMS更多的构思发布而不是内容的处理。

什么是Python?

Python是功能强大的、解释性、交互式、面向对象的编程语言。Python是开放源代码的,可运行在几乎所有系统平台之上。Zope主要由Python编写,部分用C语言进行了优化。google的核心语言就是python,大名鼎鼎的BT下载软件

主页:http://www.python.org http://www.python.cn

BitTorrent也是python写的。

上述文章引用自: http://blog.sina.com.cn/s/blog_4bc5a0960100073x.html
===============================
以下文章转自:http://ddhjwxy.spaces.live.com/blog/cns!8A016BC37DDEF613!237.entry
CMS内容管理网站zope+plone的建立(安装篇)
这两天突然有个做个内容网站的想法,于是先把网站假设好了。现在先把安装部分先贴出来,以免年后正式开始建立网站的时候出现疏漏。
下面就开始我的安装过程:
我市全新安装一台Linux FC4(rhel 4和 rhel 3也可以),安装时只要选中Develop Tools就可以了,其他的软体都是用不到的。
一、安装python2.3.5(43MB)
1.从www.python.org下载到python2.3.5解压到临时目录下。
2.进入python的解压目录。
3.运行 ./configure –with-threads
4.运行 make && make install
5.在python2.3.5安裝后將/usr/local/bin/目錄下的python2.3和python拷貝到/usr/bin/目錄下(这一步仅在rhel3中需要,原因是/usr/bin/目錄下有python2.3和python這兩個文件,但是据我的觀察,這兩個文件的實質還是我原來的python2.2的,所以一定要有上面的那個步驟,这也可能是巧合)
二、安装PIL(Python Imaging Library 1.1.5 or higher)
1.从http://effbot.org/downloads/#Imaging下载PIL软件tar包,并解压到临时目录。
2.进入解压的目录。
3.运行$cd Imaging-1.1.5
4.运行$python setup.py build_ext -i
5.运行$python selftest.py
6.运行$python setup.py install
PS.为保证PIL安装的正确性,编译前请先确定TKINTER(需要tix的rpm包和devel包、fontconfig的rpm和devel包以及xorg-X11-devel),TCL(包括devel包),libjpeg(包括devel包),freetype2(包括devel包),zlib(包括devel包)这些包必须安装,否则无法正常安装完毕。
三、安装zope
1.从http://www.zope.org 下载并解压安装包
2.运行./configure –prefix=/usr/local/zope
3.运行make && make install
4.建立一个用户zope密码zope
5.运行/usr/local/zope/bin/mkzopeinstance.py
home 设定为 /home/zope
user 设定为 zope
密码 设定为 zope

四、安装Plone 2.1.1
1.从www.plone.org上下载与zope相应版本plone的tarball
2.解压到临时目录。
3.将解压出的内容都拷贝到/home/zope/Products下,并注意文件权限。group和owner都设定成zope用户和zope组。
4.将/home/zope/etc/zope.conf中的effectiv-user 设定为zope
五、运行/home/zope/bin/runzope &
六、打开浏览器输入http://ip:8080测试网站的正确性。点击Zope Management Interface 进入设定界面,需要输入的用户名密码就是三-5中设定的用户。
这样CMS(zope with plone)就搭建成功了。

2009年5月13日 0 评论 399 阅读
加载更多

热门

  • 无线餐饮点菜系统–去年的毕业设计

    2008年9月21日 36 评论 2.4k 阅读
  • Magento设置Paypal支付步骤

    2011年5月29日 1 评论 1k 阅读
  • 垃圾

    2017年3月12日 0 评论 892 阅读
  • 办公室的两只猫

    2017年12月19日 0 评论 874 阅读
  • 记录

    2007年10月6日 0 评论 870 阅读

最新

  • 每天都好难过

    2023年3月3日 0 评论 24 阅读
  • 梦见

    2023年3月1日 0 评论 27 阅读
  • 再没有机会当面叫伯伯了

    2023年2月27日 0 评论 29 阅读
  • 我对不起你

    2023年2月7日 0 评论 48 阅读
  • 我回来了

    2023年2月6日 0 评论 50 阅读

分类

  • 图片 (71)
  • 外贸 (6)
  • 大学 (103)
  • 技术 (75)
  • 杂志 (290)
  • 电影 (13)
  • 资源 (1)
  • 随语 (66)
  • 音乐 (96)
  • 饮食 (3)

归档

  • 2023年3月 (2)
  • 2023年2月 (3)
  • 2023年1月 (27)
  • 2021年8月 (2)
  • 2021年1月 (1)
  • 2020年3月 (1)
  • 2019年3月 (1)
  • 2017年12月 (2)
  • 2017年3月 (2)
  • 2011年10月 (3)
  • 2011年8月 (1)
  • 2011年7月 (1)
  • 2011年5月 (1)
  • 2011年4月 (1)
  • 2011年1月 (2)
  • 2010年12月 (1)
  • 2010年9月 (2)
  • 2010年8月 (5)
  • 2010年7月 (1)
  • 2010年6月 (1)
  • 2010年5月 (2)
  • 2010年4月 (3)
  • 2010年2月 (4)
  • 2010年1月 (9)
  • 2009年12月 (3)
  • 2009年11月 (3)
  • 2009年9月 (11)
  • 2009年8月 (6)
  • 2009年7月 (1)
  • 2009年6月 (2)
  • 2009年5月 (7)
  • 2009年4月 (13)
  • 2009年3月 (14)
  • 2009年2月 (2)
  • 2009年1月 (12)
  • 2008年12月 (19)
  • 2008年11月 (1)
  • 2008年10月 (9)
  • 2008年9月 (12)
  • 2008年8月 (5)
  • 2008年7月 (7)
  • 2008年6月 (13)
  • 2008年5月 (4)
  • 2008年4月 (10)
  • 2008年3月 (7)
  • 2008年2月 (7)
  • 2008年1月 (11)
  • 2007年12月 (4)
  • 2007年11月 (8)
  • 2007年10月 (30)
  • 2007年9月 (25)
  • 2007年8月 (29)
  • 2007年7月 (32)
  • 2007年6月 (2)
  • 2007年4月 (1)
  • 2007年3月 (2)
  • 2007年2月 (5)
  • 2007年1月 (7)
  • 2006年12月 (11)
  • 2006年11月 (24)
  • 2006年10月 (13)
  • 2006年9月 (16)
  • 2006年8月 (21)
  • 2006年7月 (18)
  • 2006年6月 (9)
  • 2006年5月 (27)
  • 2006年4月 (44)
  • 2006年3月 (21)
  • 2006年2月 (9)
  • 2006年1月 (6)
  • 2005年12月 (12)
  • 2005年11月 (17)
  • 2005年10月 (44)
  • 2005年9月 (12)

标签

asp错误 (1) cache (1) django (1) joomla (8) joomla extension (3) magento (2) magento connect (1) Magento Email Templates (1) pink (1) Plone (1) python (3) QTP (1) sef (2) so what (1) stop 0x0000007b (1) Sugar In The Marmalade (1) vbs (1) virtuemart (3) Virtuemart Menu (1) Zope (1) 专升本 (4) 周慧敏 (2) 喜爱 (1) 国庆 (1) 域名注册,域名 (1) 学生处 (6) 我爱谁 (1) 我的大学 (6) 我的大学编年史 (6) 拉肚子 (1) 樊海军 (6) 物理学系 (6) 物理系 (4) 电子信息工程 (4) 简单电话薄 (1) 聚会 (1) 肇庆 (4) 肇庆学院 (6) 计算机系 (4) 谭咏麟 (3) 软件测试 (4) 邓奎元,蔡金生,喝酒 (1) 酸 (1) 黎明 (2) 黎明 对不起 (1)
  • 首页
  • 分类
    • 随语
    • 杂志
    • 外贸
    • 技术
    • 图片
    • 电影
    • 音乐
    • 饮食
    • 大学
  • 关于

@2005-2023 - 白菜粉条汤

白菜粉条汤
  • 随语
  • 杂志
  • 资源
  • 外贸
  • 技术
  • 图片
  • 电影
  • 音乐
  • 饮食
  • 大学
登入

保持登录状态,直到我退出

忘记密码了吗?

找回密码

新密码将通过电子邮件发送给您。

收到新密码了吗? Login here