? python ? ? django ?    发布于 2017-04-12   547人围观   0条评论

转自:http://blog.csdn.net/iloveyin/article/details/49560559
adsa
在用django开发博客时,首页只需要展示文章的一部分内容。可以用内置的filter来实现。在此mark一篇博客。


Django是个很伟大的东西,它的前端也非常容易上手,只需要掌握它的Template语言。这其中有个非常重要的东西叫filter,又叫过滤器。从本质上讲filter就是一个Python函数,取左端的为输入,分号后面为参数,进行处理后向右端输出,具体用法下面具体讲。当然除了我们自定义filter以外,Django内置的filter也已经足够强大,今天我们的主题就是其中的一类。

也许写过前端代码的你一定遇过以下问题中的一个,又还没解决,那么我觉得这篇文章值得一读

  1. 从数据库中取出来带有Html标签的字符串,而你只想显示纯文本。
  2. 从数据库中取出来带有Html标签的字符串,你希望显示被装饰后的富文本。
  3. 在首页截取文章的一部分显示时导致了首页整个乱了。
  4. 在Js里调用数据库中的东西时,有时候导致Js代码出现语法错误
  5. 有时候想把’ ‘显示成 有时候想把&lt显示成’<'
  6. 等等...
    先说大牛们处理这类问题的方法,手写一系列符合自己要求的过滤器,便迎刃而解;但我们只想用Django自带的filter,下面我们一个一个介绍用到的filter,最后利用这些filter解决上述的疑难杂症。

safe

让Html标签以及一些特殊符号(如<)生效,下面以例子说明:

  1. value = '<b>CPT</b>'
  2. #那么输出的时候,CPT就是加粗的,如果不加safe那么显示出来的就是纯文本<b>CPT</b>
  3. {{ value|safe }}

striptags

取消所有Html标签,下面以例子说明:

  1. #value = '<p><b>CPT</b></p>'
  2. #那么输出的时候,只有CPT且没有加粗没有段落;如果不加的话会显示全部文本<p><b>CPT</b></p>
  3. {{ value|striptags }}

linebreaks

让\n这种控制符号变化Html可以识别的

  1. #
  2. value =
查看更多
? python ? ? django ?    发布于 2017-04-11   336人围观   0条评论

转自:
1. http://python.usyiyi.cn/django/howto/static-files/index.html
2. http://www.cnblogs.com/MnCu8261/p/6013557.html

最近准备用django写一个博客,界面直接用的leanote的界面,第一次接触到django中的静态文件管理,再次mark一篇博文,一篇文档

django中的静态文件管理

一个站点通常需要保存额外的文件,比如图片、css样式文件、js脚本文件,在django中,倾向于将这些文件称为静态文件。django提供了django.contrib.staticfiles 模块来帮助我们方便的管理静态文件。

配置静态文件的两种方式

  1. 配置单独app下的静态文件,比如某个app下的单独文件
  2. 配置整个project下的静态文件,适用于那些和单独app关联不大的文件,比如jquery、bootstrap等等

配置步骤

  1. 首先,我们需要确认在settings.py文件中的INSTALLED_APPS变量中存在 django.contrib.staticfiles
  1. INSTALLED_APPS = (
  2. 'django.contrib.admin',
  3. 'django.contrib.auth',
  4. 'django.contrib.contenttypes',
  5. 'django.contrib.sessions',
  6. 'django.contrib.messages',
  7. 'django.contrib.staticfiles',
  8. )

2.如果我们要配置单独app下的静态文件的话,执行此步骤。

  • 在settings.py文件中定义 STATIC_URL 变量。
  1. STATIC_URL = '/static/'
  • 如果我们要配置单独app下的静态文件的话,这时,我们需要在app中建立一个名为static的文件夹。

3.如果我们要配置整个project下的静态文件的话,执行此步骤。

  • 如果我们要配置整个project下的静态文件的话,我们需要在整个project 中建立一个
查看更多
? python ? ? django ?    发布于 2017-04-10   193人围观   0条评论

django的下载安装

根据官网下载安装django

  1. pip install Django==1.11

创建项目

  1. # 创建项目,目录名即为项目名称
  2. djingo-admin <project_name>

在项目目录下,python manage.py runserver启动本地服务器

  • manage.py: 用来命令行交互的,管理项目用的
  • setting.py: 用来配置项目的一些设置,比如允许url、语言、静态文件等等
  • wgsi: 主要是和服务器网关有关系,暂时不用管

应用

一个项目可以有多个应用,比如可以用python mangage.py startapp blog创建了一个blog应用,那么项目目录下就会生成一个blog的文件夹。

应用(比如blog)文件夹里会有一个view.py的文件,这个文件里定义视图的部分。如果要使用该应用(比如blog),那么一定要记住安装该应用,即在项目文件夹/setting.py中的install_app数组里添加该应用名称。

urls.py

项目文件夹下的urls.py里可以映射url到对应的函数执行部分。这里要提及include这个方法,这个方法可以用来使用嵌套路由。

render方法

view视图模块如果需要加载html文件怎么办?那么可以使用render方法渲染html文件,在应用目录下新建templates,然后加入模板文件就行,数据通过DTL模板引擎解析。注意:render方法寻找模板文件是通过install_app里的顺序来找的,所以如果不同应用间模板名称重复,那么建议在templates目录下在多加一层应用名称的目录,以区分开来不同应用的模板,同时render方法也应该多写一层应用名称的路径。

model

model需要先在models.py下创建数据表对应的类,属性即对应着字段,写好之后,执行

  1. python manage.py makemigrations <app_name>

如果不填写应用名称,那么即视为对所有app操作。然后执行python manage.py migrate即可以将对应类的数据映射到sqlite3中去了。

查看更多