Fork me on GitHub
Django1.9开发博客12- i18n国际化

Django1.9开发博客12- i18n国际化

国际化与本地化的目的为了能为各个不同的用户以他们最熟悉的语言和格式来显示网页。 Django能完美支持文本翻译、日期时间和数字的格式化、时区。 另外,Django还有两点优势: 允许开发者和模板作者指定他们哪些app应该被翻译或被格式化为本地形式。 允许用户根据自己的偏好来实现本地化显示。翻译依据语言,格式化依据国家, 这些信息由浏览器中的Accept-Language头来决定。不过目前为止时区还未能实现。 参考官方文档:https://docs.djangopro...

Django1.9开发博客11- 富文本与代码高亮

Django1.9开发博客11- 富文本与代码高亮

TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成。 功能配置灵活简单(两行代码就可以将编辑器嵌入网页中),支持AJAX。另一特点是加载速度非常快。 django里引用TinyMCE富文本编辑器,其实很简单,前提是你知道django的静态文件配置。 其实这个我已经在前面文章提到过,可以回去再看看。 TinyMCE的官方网站是:http://www.tinymce.com/ 下载地址:http://downloa...

Django1.9开发博客10- 全文搜索

Django1.9开发博客10- 全文搜索

Django本身不提供全文检索的功能,但django-haystack为其提供了全文检索的框架。 django-haystack能为Django提供whoosh,solr,Xapian和Elasticsearc四种全文检索引擎作为后端。 其中whoosh为纯python的实现,不是非常大型的应用,是没有问题的。 本文将介绍Django1.9中通过django-haystack与whoosh集成以及whoosh的中文支持。 安装依赖:pip install django-...

Django1.9开发博客09- 用户认证

Django1.9开发博客09- 用户认证

你应该注意到了一点,当你去新建、修改和删除文章的时候并不需要登录, 这样的话任何浏览网站的用户都能随时修改和删除我的文章。这个可不是我想要的! 编辑和删除的认证我们需要保护post_new, post_edit和post_publish这三个视图,只有登录用户才有权去执行。 django为我们提供了很好的帮助类,其实就是利用了python中的decorators技术。 django中认证的装饰器位于模块django.contrib.auth.decorators中,名称...

Django1.9开发博客08- 继续完善

Django1.9开发博客08- 继续完善

到现在为止我们已经完成的差不多了,并且基本的东西都已经学到了,是时候用起来了。 我们的博客还有很多功能需要完善,下面抛砖引玉新增几个功能,还有其他功能等你自己去发现和实现。 草稿箱之前我们新建文章的时候只是是保存到数据库,也就是仅仅保存了草稿,还没有对外发布, 在博客首页上面是看不到的,因为published_date字段为空。这里我们需要添加一个草稿箱的链接。还是四部曲。 第一步,添加一个链接: 打开mysite/templates/mysite/base.html文...

Django1.9开发博客07- 实现功能

Django1.9开发博客07- 实现功能

到目前为止我们已经完成了一个django应用的所有基础部分。 包括url配置、视图、模型和模板。接下来开始继续完善我们的博客系统了。 首先我们需要一个显示每篇文章的详细页面,对不? 文章详情对于首页每一篇文章,我们希望点击标题后可以进入该文章的阅读页面。修改post_list.html中的标题href如下: <h1><a href="@% url 'blog.views.post_detail' pk=post.pk %@&q...

Django1.9开发博客06- 模板继承

Django1.9开发博客06- 模板继承

模板继承就是网站的多个页面可以共享同一个页面布局或者是页面的某几个部分的内容。通过这种方式你就需要在每个页面复制粘贴同样的代码了。 如果你想改变页面某个公共部分,你不需要每个页面的去修改,只需要修改一个模板就行了, 这样最大化复用,减少了冗余,也减少了出错的几率,而且你敲的代码也少了。 创建一个base模板一个base模板就是你全站所有页面都会继承的最基本的网站框架模板。我们在blog/templates/blog/中创建一个base.html模板: blog └───...

Django1.9开发博客05- 页面美化

Django1.9开发博客05- 页面美化

css是一种用来描述某种标记语言写的web站点的样式语言。这里我们并不想展开讨论, 关于CSS我在这里推荐一个很不错的资源: Codeacademy HTML & CSS course 不想从头开始写,因为我们有现成的css框架,没必要重复造轮子。 使用Bootstrap目前最流行的css框架非bootstrap莫属了,官网地址:http://getbootstrap.com/ 只需要在你的html模板页面的开始部分添加下面几句就行了 <link rel=...

Django1.9开发博客04- 三部曲

Django1.9开发博客04- 三部曲

其实在django中实现一个功能只需要三个步骤即可,这里我姑且叫它三部曲。 这三部曲就是: 定义urls映射 定义views 定义templates 什么是URL?URL就算一个WEB地址,你在浏览器输入这个地址,然后浏览器返回相应的网页给你。 比如http://djangogirls.com是一个URL,而127.0.0.1:8000同样也是个URL,默认就是http协议的。 Django中的URL工作原理我们打开mysite/urls.py文件,会发现类似下面这...

Django1.9开发博客03- 部署

Django1.9开发博客03- 部署

到目前为止,你的网站只能在你自己的电脑上访问到。你需要将它发布到公网上去让地球上的人都能看到,那么要怎么做呢? 在互联网上你可以找到很多的服务器供应商。我们将使用一个相对简单的托管平台PythonAnywhere。 PythonAnywhere对于一些没有太多访问者的小应用是免费的,所以它对你来说绝对是足够使用的。 其它我们将使用到的外部服务是GitHub,它是一个代码托管服务。还有其它的一些服务,但当今几乎所有的程序员都有 GitHub 帐户,相信你肯定有一个! 安装...