? 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中去了。

查看更多
? python ? ? 爬虫 ?    发布于 2016-12-09   547人围观   0条评论

参考慕课网的爬虫教程

简单的爬虫架构

title

  • 爬虫调度端:启动、停止、监听爬虫
  • 爬虫程序:
    • url管理器:管理已爬取ur和待爬取的url,取出一个待爬取url送入网页下载器
    • 网页下载器:将url指定的网页下载存储成字符串,将字符串送入网页解析器
    • 网页解析器:从字符串中解析出有价值的信息和数据,并爬取取出其中其他网页的url,送入url管理器
    • 三个模块形成循环
  • 得到价值数据

title

URL管理器

title

网页下载器

title

  • 第一种方法
  1. import urllib2
  2. # 直接请求
  3. response = urllib2.urlopen('http://www.baidu.com')
  4. # 获取状态码
  5. print response.getcode()
  6. # 读取内容
  7. cont = response.read()
  • 第二种方法
  1. import urllib2
  2. # 创建Request对象
  3. request = urllib2.Request(url)
  4. # 添加数据
  5. request = request.add_data('a','1')
  6. # 添加http的head
  7. request = add_header('User-Agent','Mozilla/5.0')
  8. # 发送请求获取结果
  9. response = urllib2.urlopen(request)
  • 第三种方法
    title
  1. import urllib2,cookielib
  2. # 创建cookie容器
  3. cj = cookielib.CookieJar()
  4. # 创建一个opener
  5. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  6. # 给urllib2安装opener
  7. urllib2.install_opener(opener)
  8. # 使用带有cookie的urllib2访问网页
  9. response = urllib2.urlopen("http://www.baidu.com")

网页解析器

title
title
title

  • pip install beautifulsoup4 安装beautifulsoup4
  • 创建BeautifulSoup对象
  1. from
查看更多
? sublime ? ? python ?    发布于 2016-12-09   710人围观   0条评论

最后折腾了几天,还是用了pycharm 23333

sublime安装和配置

这个安装和配置和简单,和以往一样就行

安装python

在计算机->属性->高级设置->环境变量->系统变量->Path中添加Python的安装位置,如D:\Python27\,这个配置完,重启sublime,然后ctrl+b就能允许当前py文件,并打印log

python的sublime3的相关插件

  • Python Flake8Lint
  1. 代码不规范时会在前面显示一个红色的小灯笼,每次运行会提示你怎么修改
  2. 保存代码的时候也会提示不规范的地方
  3. Ctrl + Alt + Shift + 8 提示修改
  4. Ctrl + Alt + Shift + 9 提示修改下一个错
  5. 当一行代码太长时,会提示,所以修改一下默认的代码行长度就行了Preferences -> Package Settings -> Flake8Lint -> Settings-Default
  • Anaconda 代码检测工具
    • 代码检验使用PyLine,因此注释掉代码检验,在偏好->包设置->用户设置中加入
  1. {
  2. "anaconda_linting":false
  3. }
  • SublimeCodeIntel智能提示工具
    这个插件和Anaconda的许多特性类似,可装可不装,配置如下,这个了解的不多
  1. {
  2. "Python": {
  3. "python":"D:/Python27/python.exe",
  4. "pythonExtraPaths":
  5. [
  6. "D:/Python27",
  7. "D:/Python27/DLLs",
  8. "D:/Python27/Lib",
  9. "D:/Python27/Lib/lib-tk",
  10. "D:/Python27/Lib/site-packages"
  11. ]
  12. }
  13. }
  • SublimeREPLTool->SublimeREPL->Python->Run currunt file可以运行当前环境(
查看更多