分类: 全部文章

  • 有幸拍到远望5,发给大家瞧瞧

    这个位置真不错,拍摄地点:环球广场27层

  • 五一节前的上海车展

    本人没去看,有人却搞到了一份PPT,有兴趣的下载看看。
  • 第一次798

                798,向往已久。记得是去年暑假在家看电视听说的,或者更早些时候。

                本来打算6号晚上就回上海,没买到票,当天下午跟女友弄了一个不让人太轻松的分别,郁闷了一会儿去找宾馆,结果五一涨价了,一甩头出来,直奔北大,找同学去了。

                后来琢磨了一下,要么约到了我善,要么去798,第二天我不得不选择了后者。

                798,免费参观。

             更多图片

  • 五一大挪移

    早些时候没拿定主意,28号才买票,所以只买到2号的。

    2号晚上坐火车去北京,硬座车票,无座,上车坐在2车厢108一直没起来,估计那哥们补卧铺去了,但愿不是他没赶上火车。

    3号上午到北京,中午表姐家吃饭,前门外的一间出租房,10平米左右,月租350。

    下午姐夫带着一干人等去了人民大会堂、中山公园、故宫,一圈转下来累坏了。人民大会堂挺凉快,中山公园的郁金香开得不错,故宫好几个大殿全罩着,加上走的匆忙,没啥看的。

    夜宿北航表弟宿舍,4日晨上火车回家。下午到初中看看小侄女,见到了英语老师王、政治老师李。

    5日在家一天,见到了另外一个小侄女,午饭后我睡着了,她们走了。

    6日晨去衡水坐车来北京,没买到票,八点二十的车到了就告诉检票员说上车补票就进了站台,她说你怎么这么懒,大概是没有排队买票吧。一路无事,行车三小时到北京西。

    中午赶到苹果园,先买票,当日晚无票,买的7日晚的卧铺,看来铁定要迟到一个小时了。

    我发了会呆决定去北大同学,一个半小时后到北大,还顺便约了一个中华女院的小师妹。晚上吃西门烧烤。

    7日晨,醒,同学还在睡,我在这里上网。本打算约一下我善,至今没联系上,不知道昨晚的一个电话是不是,睡着了,没接到。

    一会儿准备去798。

  • 今麦郎与统一

            今天偶然发现一个矿泉水瓶子上写着“今麦郎 统一”,这华龙和统一搞到一起还是第一次看见。回来在网上一搜,果然两家有合作。

            不过最感动的倒不是他们的合作,而是这事让我觉得这矿泉水瓶子上做广告倒是个好地方。矿泉水本身低成本,一瓶也只要一元钱,而一张彩色胶版广告造价也不低,何不把广告印在矿泉水上,水即使免费发放也不错嘛。

  • 用Apache快速架设Django应用

    Python,装django (解压到Python安装目录,从cmd窗口进入django目录,输入python setup.py install),也可以再去下svn升级,详情http://www.djangoproject.com

    Apache版本:apache_2.2.4-win32-x86-no_ssl.msi       下载地址:http://httpd.apache.org/

    ModPython:mod_python-3.3.1.win32-py2.5-Apache2.2.exe     下载地址:http://www.apache.org/dist/httpd/modpython/win

    依次安装上面两个东西,全部默认设置即可。

    对于Apache,可安装到磁盘下较近的一个路径,如:c:\apache 以便日后修改配置时方便打开。

    对于ModPython,它将使Apache支持django的运行,安装将近尾声时会提示选择Apache的安装目录,目的是为您配置httpd.conf,如果选错了也没有关系,可以在下面的配置中手动操作。

    以下段落将参考(http://www.cnblogs.com/zhengyun_ustc/archive/2006/11/20/django_apache_win32.html   http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/)完成。

    为了方便说明,用我的一个问卷调查为例:下载  

    先说明一下两个命名:

    wenjuan: my project        (django-admin.py statrproject wenjuan)

    inves: a app in my project      (wenjuan/django-admin.py startapp inves)

    models.py 里面Subject是问卷主题(first是第一题的题号),Question是问题(number是手动设的题号,为了根据选项跳转方便),Answer是选项(next是选了这个选项后跳到下一题的题号)

    为了和参考的那篇接近,可以将例程下载放在c:\django\下,这样就如 c:\django\wenjuan\inves

    第一步我们来改一下wenjuan中的settings.py,首先配置好

    DATABASE_ENGINE = ‘mysql’

    DATABASE_NAME = ‘yourdatebase’

    DATABASE_USER = ”

    DATABASE_PASSWORD = ”

    DATABASE_HOST = ”

    DATABASE_PORT = ”

    然后manage.py syncdb(也可以先用manage.py sqlall inves来看一下表的结构),

    此后可用manage.py runserver打开调试服务器,进入:http://127.0.0.1:8000/admin/     去填一些测试数据。然后访问:http://127.0.0.1:8000/1/      (其中1是问卷的id)

    现在回到正题,接着为了部署继续修改settings.py主要改动是把原来开发过程中用的相对路径改成绝对路径。

    主要有:

    MEDIA_ROOT = ‘c:/django/wenjuan’

    STATIC_PATH = ‘c:/django/wenjuan/media’

    TEMPLATE_DIRS = (

            ‘c:/django/wenjuan/templates’,

    )

    请注意斜杠的方向。

    接下来可以去修改Apache的配置文件httpd.conf了。它应该在Apache安装目录的con里面找到。

    配置可能涉及到的参数主要有:

    Listen      (监听的端口号,前面也可以附上IP,默认就设成80吧)

    ServerName      (访问的入口,仍然是IP+端口,比如162.168.1.10:80或者是其他的)

    DocumentRoot     (Apache服务器的根,我把它设为"c:/django/")

    然后就是需要添加的配置了:

    首先检查LoadModule python_module modules/mod_python.so

    如果没有就加上,位置挨着长得像的就行了

    然后添加:(建议在配置文件最后,日后好找)

    <Location "/">

        SetHandler python-program

        PythonPath "sys.path+[‘c:/django‘]"

        PythonHandler django.core.handlers.modpython    

        SetEnv DJANGO_SETTINGS_MODULE wenjuan.settings

        PythonInterpreter inves

        PythonDebug On

    </Location>

    注意如果是正式发布就把里面的PythonDebug 置为Off

    然后再添加:

    Alias /site_media c:/django/wenjuan/media

    <Location "/site_media/">

           SetHandler None

    </Location>

    Alias /media c:/Django-0.95/django/contrib/admin/media     (注意对应你装的django)

    <Location "/media/">

           SetHandler None

    </Location>

    <LocationMatch "(?i)\.(jpg|gif|png|txt|ico|pdf|css|jpeg)$">

           SetHandler None

    </LocationMatch>

    重启Apache,浏览 http://localhost/1/

    说明:可以通过http://localhost/single/1 一次打开所有问题,上一个是一题一题跳的。

  • 在上海的周末

          来上海快两个月了,公司还是创业期,周六一般也到公司,所以一周也就是周日自便。

          可是,真的到了周末又不知道有什么可做的了。

          上午睡个懒觉,下午洗了洗衣服,六点吃了晚饭实在不想再看电视了,索性跑到公司自己来“加班”。现在脑子里想的全是网站,似乎也只有想这个了。想别的也没用。

          周末终于过去了,下周末就到五一了,原打算上海-武汉-北京-上海,转上他一大圈,后来跟同学吃饭时一合计,相当不划算,就想还是留在上海做点事情吧。希望我的毕业刊早日出炉。

  • Django Models Field options

           对于所有类型字段都可用的一些属性:

    null

    False

    blank

    用于表单校验

    choices

    由二元组的可枚举集合(listtuple或其他)所代表的字段可选值

    class Foo(models.Model):

        GENDER_CHOICES = (

            (‘M’, ‘Male’),

            (‘F’, ‘Female’),

        )

        gender = models.CharField(maxlength=1, choices=GENDER_CHOICES)

    core

    以内联方式编辑对象

    db_column

    用于标注对应于字段属性的数据库列名称

    db_index

    Truedjango-admin.py sqlindexes会为此语句输出一个CREATE INDEX语句

    default

    默认值

    editable

    True

    help_text

    用于显示在admin表单中的额外帮助信息

    primary_key

    主键,一个object只能有一个主键

    radio_admin

    默认情况下Django admin用下拉框来选择ForeighKeychoices

    unique

    该字段值在表中是唯一的,该选项同时约束在数据库级别和Djano admin表单中

    unique_for_date

    Django admin表单验证,估计可防止重复提交

    unique_for_month

    title(unique_for_month="pub_date")

    unique_for_year

    validator_list

    field_data/all_data

    django.core.validators

  • Django Models的数据类型(二)

    下面是第二部分,基本类型大概就全了。

    ImageField

    upload_to

    height_field

    可选

    width_field

    可选

    需要验证,即Python Imaging Library

    IntegerField

    IPAddressField

    NullBooleanField

    相当于设置了null=TrueBooleanField

    PhoneNumberField

    美国电话号码格式

    PositiveIntegerField

    正整数字段

    PositiveSmallIntegerField

    小的正整数字段,取决于数据库特性

    SlugField

    maxlength(50)

    可选

    db_index

    默认为True

    prepopulate_from

    可选,用于指示在admin表单中的可选值

    短标签,仅包含字母、数字、下划线、连字符,一般用于url

    SmallIntegerField

    小整数字段,依赖于数据库特性

    TimeField

    auto_now

    可选,每次动作都会更新

    auto_now _add

    可选,一次产生

    URLField

    verify_exists(True),检查URL可用性

    USStateField

    两个字母表示的美国州名字段

    XMLField

    schema_path,必选

  • Django Models的数据类型(一)

            周末没事整理了一下Django Model的数据类型,发上来的时候才发现空间发表格太困难了,还要切开发。下面是第一部分:

    AutoField

    IntegerField

    BooleanField

    true/false

    CharField

    maxlength,必填

    TextField

    CommaSeparatedIntegerField

    maxlength,必填

    逗号分隔

    DateField

    auto_now

    可选,每次动作都会更新

    auto_now _add

    可选,一次产生

    DateTimeField

    auto_now

    可选,每次动作都会更新

    auto_now _add

    可选,一次产生

    EmailField

    FileField

    upload_to,可选

    object.get_myfile_url

    FilePathField

    path

    必填"/home/images"

    match

    可选,正则表达式,用于过滤文件名

    recursive

    可选,False,表示path的子目录是否包含在内

    FloatField

    max_digits

    必填,数字长度

    decimal_places

    必填,即有效位数