1、            创建项目

33进入在python目录下的scripts文件后执行

django-admin.py   startproject  mysite

这样就生成了名为mysite 的工程。

可执行.\manage.py runserver  运行开发服务器此时, 终端下会输出

登录 http://127.0.0.1:8000/  显示这样一个页面

同时终端会输出[13/Aug/2014 01:05:14] "GET / HTTP/1.1" 200 1957

从左往右依次为时间戳、请求、http状态码 、 字节数

2、            创建blog应用

执行 .\manage.py startapp blog

这样就创建了blog app, 在项目(mysite)的目录下会有blog的目录。

之后还需要 在mysite 目录下的sittting.py 中找到元组INSTALLED_APPS ,  在元组的末尾添上‘blog.app’,  (注意逗号)

3、            设计model

在models.py中加入下列代码

from django.db import models

from django.contrib import admin

class BlogPost(models.Model):

title = models.CharField(max_length = 150)

body = models.TextField()

timestamp = models.DateTimeField()

4、            设置数据库

如果是使用sqlite3,只需在setting.py 的 Databases字典中补全 前两项 即‘ENGINE’: 'django.db.backends.sqlite3'

‘NAME’ =   ****\django.db  #为数据存放地址,自定义

然后执行.\manage.py syncdb #同步数据 终端中,会看到下列输出

Creating table auth_message

Creating table auth_group

……..

之后会被问一下与django.contrib.auth app有关的问题,许按步  骤填写

5、            设置自动admin应用

在 settings.py 中 ‘django.contrib.auth’ 下添加下列一行

‘django.contrib.admin’

然后再次执行syncdb命令 ,

设置完app后, 需要为它指定一个URL

在urls.py 中 去掉rl(r'^admin/', include(admin.site.urls)) 前的注释符

最后, 在 models.py 导入admin

from django.contrib import admin

并在最后加上一行注册model的代码

admin.site.register(BlogPost)

6、            试用admin  登录 127.0.0.1:8000/admin 后输入 用户名和密码会看到一下页面

随意编辑几篇 blog并保存。为了然列表更美观在models.py中添加blogpostadmin类,并将它加到注册代码里

from django.db import models

from django.contrib import admin

class BlogPost(models.Model):

title = models.CharField(max_length = 150)

body = models.TextField()

timestamp = models.DateTimeField()

class Meta:

ordering = ('-timestamp',)

class BlogPostAdmin(admin.ModelAdmin):

list_display = ('title', 'timestamp')

admin.site.register(BlogPost, BlogPostAdmin) #regiet blogpost model

刷新一下页面, 会看到

相比原先有了 title 和timestamp 栏

7、            建立blog的公共部分。

创建文件 archive.html 保存到blog\templates中内容如下

{% for post in posts %}

<h2>{{post.title}}</h2>

<p>{{post.timestamp|date}}</p>

<p>{{ post.body}}</p>

{% endfor %}

然后创建视图函数打开blog\view.py文件并输入:

from django.template import loader, Context

from django.http import HttpResponse

from mysite.blog.models import BlogPost

def archive(request):

posts = BlogPost.objects.all()

t = loader.get_template('archive.html')

c = Context({'posts': posts})

return HttpResponse(t.render(c))

之后再创建 url模式 在mysite/urls.py 添加

url(r'^blog/', include('mysite.blog.urls')),

这会捕捉任何以blog/开始的请求, 并传递给接下来的url模式

Mysite/blog/urls.py:

from django.conf.urls.defaults import *

from mysite.blog.views import archive

urlpatterns = patterns('',

url(r'^$', archive),

)

8、            最后润色

创建base.html 文件, 并保存在mysite/blog/templates内容如下:

<html>

<style type="text/css">

body { color: #cdcdcd; backgroud:#cdcdcd; padding: 0 5em; margin: 0}

h1 { padding:2em 1em; backgroud: #675}

h2{color: #cdcdcd; border-top: 1px dotted #cdcdcd; margin-top; 2em}

p {margin: 1em 0}

</style>

<body>

<h1>mysite.example.com</h1>

{% block content %}

{% endblock %}

</body>

</html>

然后更新achive.html内容:

{% extends "base.html" %}

{% block content %}

{% for post in posts %}

<h2>{{post.title}}</h2>

<p>{{post.timestamp|date}}</p>

<p>{{ post.body}}</p>

{% endfor %}

{% endblock %}

运行后登陆http://127.0.0.1:8000/blog/

可在models.py文件中添加嵌套类 Meta:是blog 按顺序排序

from django.db import models

from django.contrib import admin

class BlogPost(models.Model):

title = models.CharField(max_length = 150)

body = models.TextField()

timestamp = models.DateTimeField()

class Meta:

ordering = ('-timestamp',)

class BlogPostAdmin(admin.ModelAdmin):

list_display = ('title', '-timestamp')

admin.site.register(BlogPost, BlogPostAdmin) #regiet blogpost model

‘-timestamp’为降序  ‘timestamp’为升序

通过django 速成 blog的更多相关文章

  1. Django架设blog步骤

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  2. Django架设blog步骤(转)

    最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言: 2.语法简洁,强制缩进: 3.应用广泛,w ...

  3. Django 开发blog未完待续

    [root@sishen simpleblog]# python3.5 Python 3.5.4 (default, Sep 20 2017, 20:37:45) [GCC 4.4.7 2012031 ...

  4. django创建blog

    如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是" ...

  5. django demo --blog

    详情,请看虫师博客http://www.cnblogs.com/fnng/p/3737964.html 和https://my.oschina.net/matrixchan/blog/184445  ...

  6. 三个在线django速成教程(转)

    add by zhj: 除了这几个在线的,有些书也不错 1. Two Scoops of Django 2. Instant Django 1.5 Application Development St ...

  7. Django创建一个简单的blog

    1. 使用django-admin.py 创建mysite项目 sunny@sunny-ThinkPad-T450:~/PycharmProjects$ django-admin.py startpr ...

  8. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  9. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

随机推荐

  1. Swoole 实现在线聊天

    Swoole 跟 thinkphp5 结合开发 WebSocket 在线聊天通讯系统 ThinkPHP 使用 Swoole 需要安装 think-swoole Composer 包,前提系统已经安装 ...

  2. postman设置环境变量与全局变量

    1.环境变量可以设置多组 设置环境变量 编辑环境变量 2.全局变量只能设置一组 可以在Pre-request Script和Tests中设置全局变量 如:pm.globals.set("na ...

  3. 如何利用Fiddler4进行Android APP / IOS APP抓包

    Fiddler抓包 1.Fiddler介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据. F ...

  4. Qualcomm-Atheros-QCA9377-Wifi-Linux驱动

    资源来自:https://download.csdn.net/download/ichdy/10331646 已经下载好了,发现无法使用,本人系统Centos7.2,如果有安装成功,并且可以正常使用的 ...

  5. SpringMVC重点知识总结

    SpringMVC总结 1. SpringMVC简介 MVC即模型-视图-控制器(Model-View-Controller) Spring Web MVC是一种基于Java的实现了Web MVC设计 ...

  6. 彻底解决 Mechanism level: Failed to find any Kerberos tgt

    错误描述 Secure Client Cannot Connect ([Caused by GSSException: No valid credentials provided(Mechanism ...

  7. day05整理

    目录 一.上节课回顾 (一)数据类型 (1)数字类型 (2)字符串类型str (3)列表类型list (4)字典类型dict (二)jieba模块 (三)wordcloud模块 二.文本处理 (一)什 ...

  8. markdown(typora)基本语法

    目录 * 标题 * 加粗 * 斜体 * 高亮 * 上标 * 下标 * 代码引用(>式和```式) * 代码引入(`式) * 插入链接(链接显示) * 插入链接(连接描述显示) * 插入图片(链接 ...

  9. 微信支付 get_brand_wcpay_request fail,Undefined variable: openid

    本文将为您描述微信H5支付,微信JSAPI支付返回支付签名验证失败的解决方法 微信JSAPI支付时报这个错误 查看错误详情 alert(JSON.stringify(res)) 微信商户平台相关设置: ...

  10. node.js的File模块

    1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node ...