目前我们看到的只是模板中预先填充的一些数据,我们得让它显示从数据库中获取的文章数据.下面来稍微改造一下模板: 删除所有article标签,然后添加以下内容,将从数据库读取到的内容填充到模板变量{{ post_list }} {% for post in post_list %} <article class="post post-{{ post.pk }}"> <header class="entry-header"> <h1 clas…
回顾一下开发流程:配置url, 编写视图函数,编写对应模板 配置URL 首页视图匹配的 URL 去掉域名后,是一个空的字符串.每篇文章的详情有着不同的 URL,因此可以设计文章详情页面URl:<网站域名>/post/文章ID/ 时.下面依照这个规则来绑定 URL 和视图: # coding=utf8 from django.conf.urls import url from .import views app_name = 'blog' urlpatterns = [ url(r"^…
需求: 真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表,就像 演示项目 里展示的这样.t https://docs.djangoproject.com/en/1.10/howto/static-files/ 编写博客视图函数 从数据库获取文章的标题,将其作为模板变量传递到模板,所以视图函数 # coding=utf8 from django.shortcuts import render from django.http import HttpResponse f…
1上网的流程: 打开浏览器,输入网址(http://zmrenwu.com/) 浏览器根据输入网址,完成以下几件事:1识别服务器地址,2将用户的浏览意图打包成一个http请求,发送给服务器,等待服务器响应请求 服务器接收到请求后,根据请求从数据库查询,取出数据,并将这些数据嵌入到html中,打包成http响应,返回给浏览器 浏览器接收到响应,解读响应,把html文档解析并显示给用户 从上面的流程来看,django就是一个服务器,其主要解决问题:接收浏览器发送的请求,返回响应给浏览器 从而,会产生…
在视图函数里返回的是一个 HttpResponse 类的实例,我们给它传入了一个希望显示在用户浏览器上的字符串.但是我们的博客不可能只显示这么一句话,它有可能会显示很长很长的内容.比如我们发布的博客文章列表,或者一大段的博客文章.我们不能每次都把这些大段大段的内容传给HttpResponse. Django 对这个问题给我们提供了一个很好的解决方案,叫做模板系统.Django 要我们把大段的文本写到一个文件里,然后 Django 自己会去读取这个文件,再把读取到的内容传给 HttpRespons…
1 如果没有创建超级管理员账号,先要创建python manage.py createsuperuser 2 在admin后台注册模型(如果没有这一步,登录http://127.0.0.1:8000/admin,看到admin用户只能添加用户,没有发表文章的一些功能) blog/admin.py from django.contrib import admin from .models import Post, Category, Tag admin.site.register(Post) ad…
我们的博客侧边栏有四项内容:最新文章.归档.分类和标签云. 这些内容相对比较固定,且在各个页面都会显示,如果像文章列表或者文章详情一样,从视图函数中获取然后传递给模板,则每个页面对应的视图函数里都要写一段获取这些内容的代码,这会导致很多重复代码. 更好的解决方案:自定义一个模板标签,然后在每个页面的模板导入自定义的模板标签即可,下面整理出自定义标签的流程: 1 创建自定义模板的文件夹 在blog/…
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 数据库的组织是根据我们的博客需求来设计的, 博客需求:博客初级版本主要包含博客文章,文章会有分类以及标签.一篇文章只能有一个分类,但可以打上很多标签因此,可以设计数据库的形式() 设计数据库组织一张表table 增加另外一个表, 这 3 篇文章的分类和标签都是相同的,这会产生很多重复数据,当数据量很…
推荐学习博客:http://zmrenwu.com/post/6/ 选择数据库版本(SQLite3) 如果想选择MySQL等版本数据库,请先安装MySQL并且安装python mysql驱动,这里不做描述.可以查看虫师web接口开发与自动化测试page65 选择Python 内置数据库SQLite3 SQLite3 是一个十分轻巧的数据库,它仅有一个文件.你可以看一到项目根目录下多出了一个 db.sqlite3 的文件,这就是 SQLite3 数据库文件,Django 博客的数据都会保存在这个数…
推荐学校django博客:http://pythonzh.cn/post/8/ django app 可以理解为一个文件夹: 里面包含了相关功能的代码.通过manage.py来创建 web app 激活虚拟python环境 进入manage.py所在目录,执行python manage.py startapp blog 可以看到和manage.py同级目录blog 建好文件夹,要告知django这是个应用,修改settings.py…
以下是代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <!--cdn方式引入--> <link href="https://cdn.bootcss.com…
查询(取)数据 >>> Category.objects.all() <QuerySet [<Category: Category object>]> >>> Tag.objects.all() <QuerySet [<Tag: Tag object>]> >>> Post.objects.all() <QuerySet [<Post: Post object>]> >>…
上一篇我们已经完成数据库的设计,但是仅仅是python语言,并没有真正创建了数据库表.翻译成数据库语言,真正创建数据库表由django manage.py来实现,这一过程专业术语:迁移数据库 切换到manage.py所在目录,分别执行命令:python manage.py makemigrations , python manage.py migrate 执行python manage.py makemigrations结果 F:\pythoncode\django\workspace\blog…
1 进入虚拟环境,安装markdwon  python install markdown 2 修改视图函数detail def detail(request, pk): # get_object_or_404当传入的pk对应的post数据存在时,就会返回post数据否则返回404 # 需要导入 import markdwon post = get_object_or_404(Post, pk=pk) post.body = markdown.markdown(post.body, extensi…
1 修改detail视图函数,渲染文件的时候,增加codehight拓展 post.body = markdown.markdown(post.body, extensions=[ 'markdown.extensions.extra', 'markdown.extensions.codehilite', 'markdown.extensions.toc', ]) 2 安装Pygments 进入虚拟环境, pip install Pygments 3 修改base.html, 增加代码高亮的样式…
注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更深层次的学习 , 但苦于国内Python翻译文档的量少 , 故而整理了些阅读文档--国外大牛的博客 , 供后面的学习者参阅学习. 1. 第一个是 Planet python,里面有很多 Python 好文章.去看看吧.希望能帮到你.这个博客经常在更新. 2. 第二个博客是 lucumr.这个博主是知…
注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information about your data. It contains the essential fields and behaviors of the data you're storing. Generally, each model maps to a single database table. 一个模…
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpResponse def hello(request): return HttpResponse("我的第一个简单的python django项目.") 3,修改urls.py 我们为urlpatterns加上一行: (r‘^hello/$’, hello), 这行被称作URLpattern…
真正的 Django 博客首页视图 在此之前我们已经编写了 Blog 的首页视图,并且配置了 URL 和模板,让 Django 能够正确地处理 HTTP 请求并返回合适的 HTTP 响应.不过我们仅仅在首页返回了一句话:欢迎访问我的博客.这是个 Hello World 级别的视图函数,我们需要编写真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表. 首页视图函数 上一节我们阐明了 Django 的开发流程.即首先配置 URL,把 URL 和相应的视图函数绑定,一般写在…
python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) 收藏 举报 pythonrandomlistimport   目录(?)[+] randomrandom randomuniform randomrandint randomrandrange randomchoice randomshuffle randomsample   Python中的ran…
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 此前在讨论基于模板引擎的开发方式和 django-rest-framework 开发的异同时说过,django-rest-framework 开发和传统的开发方式没有什么不同,区别仅在于返回的数据格式不同而已. 在基于模板引擎的开发方式中,博客首页文章列表的视图函数可能是这样的: from django.shortcuts import render from .models im…
Web 应用的交互过程其实就是 HTTP 请求与响应的过程.无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地址栏输入想访问的网址,比如 http://zmrenwu.com/(当然你也可能从收藏夹里直接打开网站,但本质上都是一样的). 浏览器知道我们想要访问哪个网址后,它在后台帮我们做了很多事情.主要就是把我们的访问意图包装成一个 HTTP 请求,发给我们想要访问的网址所对应的服务器.通俗点说就是浏览器帮我们通知网站的服务器,说有人来访问你…
Django 处理 HTTP 请求 Web 应用的交互过程其实就是 HTTP 请求与响应的过程.无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地址栏输入想访问的网址,比如 http://zmrenwu.com/(当然你也可能从收藏夹里直接打开网站,但本质上都是一样的). 浏览器知道我们想要访问哪个网址后,它在后台帮我们做了很多事情.主要就是把我们的访问意图包装成一个 HTTP 请求,发给我们想要访问的网址所对应的服务器.通俗点说就是浏览器帮…
React初步学习-利用React构建个人博客 用React和Webpack写了一个很简单的个人博客,主要是想要熟悉一下react中各种基本基本属性及方法的使用.在构建过程中碰到不少问题,通过阅读官方API,对react的生命周期和状态提升都有了更好的了解. 构建工具webpack css编译使用css-loader 博客源码 git@github.com:sunrun93/react-blog-app.git 将源码下载到本地,通过npm i安装依赖,使用npm start运行项目 依赖安装完…
1.什么是CBV(Class-based views) 2.博客首页及博客详情实现 1.什么是CBV 什么是CBV?说白了就是以前是视图为处理请求返回响应的函数,有了cbv之后我们就可以用类处理请求和响应,django提供了一些generic view用来实现相应的功能,比如ListView就是用来显示列表形式的数据,DetailView就是用来显示数据详细信息的,我们使用他们的时候只需要继承这些类并按照要求提供数据就可以了. 它提供给我们的功能有什么呢?比如template_view='ind…
python海明距离 - 5IVI4I_I_60Y的日志 - 网易博客 python海明距离   2009-10-01 09:50:41|  分类: Python |  标签: |举报 |字号大中小 订阅     def hammingDist(s1, s2):    assert len(s1) == len(s2)    return sum([ch1 != ch2 for ch1, ch2 in zip(s1, s2)])…
缘起 书说前两篇文章<十五 ║ Vue前篇:JS对象&字面量&this>和 <十六 ║ Vue前篇:ES6初体验 & 模块化编程>,已经通过对js面向对象,类和模式封装,ES6新特性等多个角度讲解了Vue入门的一些储备知识,之所以说储备知识,是值,这些内容不会也可以学Vue,但是,如果学的不错,那下一步学习Vue的时候会比较容易,要是能看得懂,写的出来,会修改别人的,嗯!继续大步往前走哈哈,今天呢,终于到了写代码的时候了,这两天一般预习这Vue,一边修改这之…
​在线演示 本地下载 如果你想学习如何开发和使用的话,请参考我们免费的课程: Bootstrap3开发滑动风格的博客网站模板…
表现 众所周知,gitment评论系统需要初始化以创建对应的issue,可是我在点击login with github的时候,总是跳向博客首页!WTF!什么鬼?这样不程序啊? 排查 1.F12查看login回调链接,redirect_uri参数没有什么问题啊,行,我们回头查看,github的文档, github文档地址 2.文档中提到,如果地址不匹配的话,就会重定向到你在OAuth Apps 中设置的Authorization callback URL,而这里我们配置的都是首页,所以会跳向首页就…
打算做个自己在博客园的博客APP,首先要能访问首页获取数据获取首页的文章列表,第一步抓取博客首页文章列表内容的功能已实现,在小米2S上的效果图如下: 思路是:通过编写的工具类访问网页,获取页面源代码,通过正则表达式得到匹配的数据进行处理显示到ListView上 简单说明下要点:1. 使用Apache HttpClient库实现GET请求.2. 异步请求处理.3. 正则表达式抓取自己需要的数据. 使用Apache HttpClient库实现GET请求. 使用Apache只需简单三步 HttpCli…