学校地图

来源:互联网 发布:java生成短信验证码 编辑:程序博客网 时间:2024/04/27 13:30

花费了好几天的课余时间,我做的学校地图网站终于上线了:http://gis4u.cn/map/ 

原来的部分想法基本上都实现了,后续的新功能还在不断增加。

在做网站的过程中问题还真是不少。

1. Admin 界面

不知道为啥一开始的时候上传上去的程序开 Admin 界面还正常,后来就不行了。打开 Admin 界面的时候都没有加载相应的 CSS 进去。后来我传了一个最初 startproject 出来的程序,建了一个最简单的模型,把程序传上去之后 Admin 的问题还是原样。看来不是我的程序的问题了。最后没办法,只好把 Django 的 admin 目录里面的 media 文件全部上传到我的网站的 media 的目录里面。再设置 setting.py 的 ADMIN_MEDIA_PREFIX 指向自己的那个 media 中的从 admin 复制过来的 media 文件的路径就好了。

2. DEFLATE 压缩

网站的内容虽然不多,但是 Ajax 、Css 等文件的大小倒是不小。比如 Jquery 的库 Pack 之后还要 30k。于是我就想要开启 DEFLATE 的压缩功能。网上都说在 .htaccess 中加入下面这样,就会根据扩展名来压缩:

AddOutputFilter DEFLATE css js txt

这招好像在我的主机上没有反映,后来又找到下面这种,可以根据 Content-Type 来选择压缩:

AddOutputFilterByType DEFLATE text/html text/plain

这个就有反映了。我把 text/xml text/css application/x-javascript 都加上去。经过测试 Jquery.pack.js 能压缩到 15k,这就缩小了不少了。

网上有些文章说 Deflate 压缩的时候只对静态文件(比如html、css),对动态页面不压缩。但是我的页面都是 Django 动态生成的,抓来的包显示这些页面也一样压缩了(有 Content-Encoding: gzip)。我想大概是因为用了 AddOutputFilterByType ,所以不管是动态的还是不动态的,反正传输的时候是相关的类型就压缩。

3. 路径问题

Django 的数据库模型里面可以设置一个 ImageField 的字段。设置有这个字段的话,在管理页面里面就可以直接上传图片。但是如果是在 Windows 中上传,文件路径就会自动设成 xxxx/xxxx.jpg,如果在 Linux 中上传就会自动设置成 xxxx/xxxx.jpg。我在自己的电脑上是用 Win 调试,后来传到服务器上(Linux)的就发现访问不了刚上传的图片。不知道 Django 中有没有设置这个东西的选项。

 

ChangoLog

2008.4.4
    1. 修正了 Ajax UI 对话框在 IE7 和 FireFox 中的显示错误。

2008.4.3
    1. 加入评价系统。
    2. 在一些 URL 的 GET 请求上加入 UTC 的参数,避免缓存问题导致数据不能实时更新。
    3. 优化部分 Ajax 代码。

2008.3.29
    1. 改良一些 Ajax 代码。
    2. 把打开大图片的方式改成像图例表一样的 Ajax UI 方式。

2008.3.28
    1. 将图例表的显示方式改为 Ajax UI 的方式。

2008.3.27
    1. 加入 Tab 页功能。 

2008.3.26
    1. 加入显示主干道路的功能。
    2. 加入显示学校边界范围的功能。
    3. 进一步完善地图图标(对齐到坐标中心,对齐信息窗口到适当的位置)。
    4. 加入图例表。

2008.3.25
    1. 加入分类功能(数据模型更新)。分有教学楼、学生公寓等分类。
    2. 加入不同分类显示不同图标功能。
    3. Ajax 框架改用 JQuery。
    !4. Admin 界面出错(好像是服务商的问题)。

2008.3.24
    1. GUT 地图网站初步完成。
    2. Ajax 框架采用 MochiKit。
    3. 加入了部分建筑物的标志点。