`
thirdson
  • 浏览: 4943 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

百e购开发日记(四)

阅读更多

e 购开发日记(四)

静态文件

查看上回:部署   系统日记   批量处理

 

在项目中的 CSS javascript 上传的图片等 , Django 本身不提供静态文件服务所以第一步就是 Apache 中配置静态文件服务:

 

Alias /media/ /{{YOUR_MEDIA_LOCATION}} /

<Directory /{{YOUR_MEIDA_LOCATION}} >

        Order deny,allow

       Allow from all

</Directory>
 

配置好了以后,所有 /media 路径下的请求请被 Apache 静态转发了。 Django 的配置我们还有修改修改。一个是 MEIDA_URL, 还有一个就是 ADMIN_MEDIA_PREFIX

MEDIA_URL 也时就是所有静态文件的前缀了 , 比如你的 MEIDA 放置的目录是

 

   my_home/

        media/

           css/

             main.css
 

 

你的 Django 模板可能是这样设定的:

<script type="text/javascript" src="{{MEDIA_URL}}css/main.css"></script>
 

MEDIA_URL 就是上面在 settings.py 里面配置的。

为什么需要 ADMIN_MEDIA_PREFIX 呢, django 自己的发布包里面就带有一份静态的资源 css& js 等等,他的目录是在系统的 django 安装目录下也就是 python site-packages 包内,所以我们需要吧他拷贝出来放置在我们的 media 下面将来自己要改的可以改吧改吧。

具体的目录在:

python25\Lib\site-packages\django\contrib\admin\media
 

 

ok, 到这里基本都配置了。 放一个静态文件在你的 meida 尝试访问一下看看。

 

图片的处理

 

图片的保存位置,在 Django settings.py 里面我们需要加入如下配置:

 

MEDIA_ROOT = '{{YOUR_MEIDA_DIR}}'
 

 

必须是一个绝对路径的位置,而其主要了一定要在你的静态文件夹下,而其写权限要打开, Django 本身自带了一个自动处理上传文件的组件: ImageField, 但是往往这个不能往前满足我们的需求,比如往往我们需要对上传的图片压缩,剪切啊,生成不同大小的 thumb, 这个有该如何操作呢? 当然 ImageField 留下用户可以定制的接口:

upload_to: 提供重新命名上传文件名 / 上传路径的接口

storage 具体的储存方式,这个时候我们可以对图片进行各种操作

可以具体参照 Django 的自带的   django.core.files.storage.FileSystemStorage

一般 Python 下是用的 PIL 对图片进行处理, django 已经有第三方提供比较成熟的图片处理应用 Django photologue

 

很多网站,用户都可以剪辑自己的头像,如果你是使用 Jquery Jcrop 进行 WEB 端的剪辑,后台同样适应 PIL 进行操作。 下一将将是 Django 模型。 Django 遵循 MVC 设计模式,但是他的具体的 Model Control & View 具体的角色有点不太一样 , 非纯粹的学院派描述的那个样子。

 

0
1
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2

    SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2

    NC开发日记(2010)

    这是我的原创资源,是我三年的NC开发的心得,

    MOSS 2007开发日记

    以下是对"MOSS 2007开发日记"中可能涉及的关键知识点的详细解释: 1. **SharePoint架构**:理解MOSS 2007的基础架构至关重要,包括前端Web服务器、应用服务器、数据库服务器和客户端组件。这些组件如何协同工作对于...

    SAP 开发日记 SAP 开发日记SAP 开发日记

    SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记

    前端开发-日记.rar

    前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记.rar前端开发-日记...

    深入体验Java+Web项目开发(开发日记)2

    本开发日记将分为几个部分,逐一解析这些技术要点。 首先,Java作为后端开发的主要语言,其面向对象的特性使得它在处理复杂业务逻辑时具有优势。理解Java的基础语法、类与对象、接口、继承和多态性是必不可少的。...

    windows mobile 开发日记+视频

    本资料“Windows Mobile 开发日记+视频”将引领你深入理解Windows Mobile的开发流程。通过开发日记,你可以了解到以下关键知识点: 1. **环境搭建**:首先,你需要安装Visual Studio,选择支持Windows Mobile开发的...

    网站开发日记(11)

    博文链接:https://dodomail.iteye.com/blog/245758

    深入体验Java+Web项目开发(开发日记)1

    深入体验Java+Web项目开发(开发日记)的源码和第一,二章内容和课件!

    一个嵌入式工程师的stm32开发日记

    嵌入式工程师是指那些专注于在特定硬件平台上进行软件开发和系统集成的专业人员。...作者通过这份开发日记,不仅记录了自己在STM32开发上的点点滴滴,也为其他同行或爱好者提供了一条学习和思考的路径。

    Android代码-移动日记本功能包含传统的日记本和音频日记视频日记实现私密日记和普通日记。.zip

    在Android平台上,开发一款移动日记本应用是一种常见的实践,它为用户提供了一种便捷的方式来记录他们的日常生活,情感体验,以及重要事件。这款名为"Diary"的应用不仅包含了传统的文本日记功能,还创新性地集成了...

    安卓开发实习日记参考.doc

    安卓开发实习日记参考.doc

    安卓超级日记本

    《安卓超级日记本:融合科技与记录的艺术》 在当今数字化时代,个人记录的重要性日益凸显,而“安卓超级日记本”作为一个集成了科大讯飞语音识别和分享功能的日记应用,无疑为用户提供了全新的日记体验。这款应用...

    社交网站后端项目开发日记(一)(csdn)————程序.pdf

    "社交网站后端项目开发日记(一)" 本文主要介绍了社交网站后端项目的开发日记,涵盖了项目的基本概念、技术栈选型、项目搭建、依赖管理、SpringBoot基础知识等方面。 一、项目概述 社交网站后端项目旨在开发一个...

    旅游日记APP的设计与开发.pdf

    ### 四、旅游日记APP的开发 在开发过程中,我们采用敏捷开发模式,保证APP在开发周期内的持续迭代和优化。我们使用Java和Kotlin作为主要编程语言,利用Android Studio作为开发环境,同时引入如TensorFlow等机器学习...

    应用SQLite开发简易心语日记源码

    本项目"应用SQLite开发简易心语日记源码"旨在教你如何利用SQLite创建一个简单的日记应用,实现日记的添加、删除、修改和查询功能。这对于理解和实践Android中的本地数据存储至关重要。 SQLite是一个轻量级的、开源...

    QT(C++)开发小众日记app项目-QtDiary.zip

    QT(C++)开发小众日记app项目_QtDiary.zip QT(C++)开发小众日记app项目_QtDiary.zip QT(C++)开发小众日记app项目_QtDiary.zip QT(C++)开发小众日记app项目_QtDiary.zipQT(C++)开发小众日记app项目_QtDiary....

    九宫格日记(J2EE开发)

    在J2EE平台上开发九宫格日记,意味着我们需要利用Java后端技术、数据库管理和Web前端技术来构建一个完整的应用程序。 首先,我们要理解J2EE(Java Platform, Enterprise Edition)框架。J2EE是Java企业级应用的标准...

    软件开发实习日记

    自己写的C#和.net实习日记,没一篇都是自己经历并记录的,对于快毕业要写实习日记的朋友有帮助。

Global site tag (gtag.js) - Google Analytics