通过django 速成 blog

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,布布扣,bubuko.com

时间: 2024-10-04 15:48:00

通过django 速成 blog的相关文章

django demo --blog

详情,请看虫师博客http://www.cnblogs.com/fnng/p/3737964.html 和https://my.oschina.net/matrixchan/blog/184445  http://blog.csdn.net/yjwx0018/article/details/52959704 1 首先创建工程的项目  mysite cmd >> django-admin.py  可以看到py所有的接口,我们现在只需要startproject 来创建工程 cmd >>

django创建blog

1.创建项目project django-admin.py startproject myblog 查看目录树 alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'" 2.创建应用app 一个工程里可以创建很多个应用app, 一个app就是一个功能模块,我们创建一个blog应用: cd myblog   打开目录 python manage.py startapp blog 创建名为blog的app 此时目

Django架设blog步骤

最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言: 2.语法简洁,强制缩进: 3.应用广泛,web.系统管理.脚本.科学计算等等,第三方应用多: 下面开始正文,Django是Python时间中数一数二的web框架,由3个小伙创建,名字来源于一个吉他手(看3人的照片,叛逆青年类型,取这个名也就不奇怪了). Django的最大优点就是可以快速建立一个web应用,语法简洁,及其轻量,甚至内含一个w

Django创建一个简单的blog

1. 使用django-admin.py 创建mysite项目 [email protected]:~/PycharmProjects$ django-admin.py startproject mysite 2. 进入项目目录中,启动服务器,测试连通性 [email protected]:~/PycharmProjects$ cd mysite/ [email protected]-ThinkPad-T450:~/PycharmProjects/mysite$ ./manage.py runs

使用 Django1.11搭建blog项目

使用Django搭建blog项目 简单设置: http://blog.csdn.net/wei_/article/details/70766035 模板渲染: http://blog.csdn.net/wei_/article/details/70766035 问题 No module named 'mysite.blog' INSTALLEDAPPS中配置:在INSTALLEDAPPS加blog来代替'mysite.blog' Unknown command: 'syncdb' 在Django

Django开发博客- 页面美化

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

Django开发博客- 三部曲

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

【Django】不知道为什么就是想学一下 01

1. Django安装.项目创建及服务器连接 系统:Ubuntu 14.04.4 > cat /etc/issue //查看系统版本 安装Django > sudo pip install django 确定进入了root模式,进入django-admin.py所在目录,运行以下指令 > django-admin.py startproject mysite 在当前目录生成mysite文件夹,进入文件夹(哦,项目名可以随意取,不一定非得mysite...) > manage.py

【转】对Django框架架构和Request/Response处理流程的分析

本文转载于疯狂的蚂蚁. 一. 处理过程的核心概念 如下图所示django的总览图,整体上把握以下django的组成: 核心在于中间件middleware,django所有的请求.返回都由中间件来完成. 中间件,就是处理HTTP的request和response的,类似插件,比如有Request中间件.view中间件.response中间件.exception中间件等,Middleware都需要在 "project/settings.py" 中 MIDDLEWARE_CLASSES 的定