作者归档 孟繁永

通过孟繁永

今麦郎与统一

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

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

通过孟繁永

用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

必填,即有效位数

通过孟繁永

新浪首页发现的长虹广告

        好久没上新浪了,突然被左边的一个flash广告吸引,看起来像个打乒乓球的小游戏,实际上你一旦单击也就激活了广告链接。

         实在是个不错的创意,http://ad4.sina.com.cn/200704/20/89167_changhong_guonei_120240.swf,感兴趣的可以去看看。

         不过有个bug,当球的轨迹一旦和桌面中线重合,你的拍子就不用移动了,球会一直往复下去。

通过孟繁永

转一个去年的帖子

樱花诗赛所写

大巴 发表于 2006-4-9 0:23:00

诗不是这个样子

大学之诗更加不是这个样子

大学之诗应是闻先生之诗,至少有闻先生之诗

激昂是你的主旋律

青年,让你的诗与你的血一起沸腾

让我从诗里看见你的刚强

让我从你的诗里看到国的希望

你的诗总是飞舞着天使

殊不知,你才是人间的天使

飞舞吧,青年,你的诗也要飞舞人间

让人间与你一同飞舞

我更希望闭着眼听你的诗

那诗里有你的梦乡

清静是你的归宿

我知道你是一个与我一样博爱的人

你总是在意每一个闪过眼前的异性

不管你是如何刻意强调一个朴素的形象

我知道你的多情与我一样

诗者,不必美丽;诵者,不必美丽。

诗者,用心;诵者,用心。

最恨无聊风雅人,只求听者一个“好”。

你可知何谓田园?

田园已非昨日田园

儿时爱嚼棘棘菜

儿时飞舞的蒲公英

我长大了,你们却在哪里

借着诗,让我道出我的心声

借着诗,倾泻我真的感情

诗里是我的实在

偶尔出现的美的字词

是我不得不说的爱

何尝不愿归田园

何尝不愿归山林

田园何在?山林何在?

诗也要道具吗?我不敢断言

把你请进我的诗里

实在是我的无奈

即使你拿走了我的生命

我依然甜蜜地叫着你的名

嘿,瞧我这短暂却像放着脉冲的星

坐在台阶上听着你的诗

却像坐在天涯

往后一步,同你一起用模糊的语言描绘世界

往前一步,同你一起用犀利的目光勾勒人间

通过孟繁永

点击量后面的自省

       百度空间的访问统计升级以后,百度的fans们真是大力吹捧,包括我。很多人一直盯着自己的访问量,也有人在这次升级以后意识到要寻找方法提升自己的访问量了。如果单纯提升自己的访问量,途经是很多的,不在此讨论。只是我认为博客应该是原创的,而且这个原创越是能够解决问题就越有用。这决定了写博的出发点,我至少提醒自己去追求后者,所以博名也叫做“实实在在”。
       原创解决方案并非专家博客的专利,希望多为互联网多造福。
通过孟繁永

百度空间的访问统计升级了

       顺手打开高级设置看看访问记录,以前只有前一天的记录,现在还不错,增加了流量图表,把来源统计增加到两周,只可惜没有及早意识到这个事情而积累下一些数据。
       点击排名和评论排名也不错,因为到处都有了,你没有就显得太笨了。有了它不算麻烦倒是很方便。如果再增加一下“文风”分析,自动推荐一些相关博客,那么这个空间的圈子就更有意义了,也可以朝着我前面提到过的发展质量型圈子的方向发展。
       小小自恋一下,不知道是不是百度er看到我的帖子才增加的这些东西,呵呵。