「教程」用Django开发一个blog网站

字体大小: [] [] []

一、搭建开发环境

我用的是python3.3.3+django1.6.1+window xp

Python3.3.3 下载地址:https://www.python.org/download/releases/3.3.3

Django1.6.1 下载地址:https://www.djangoproject.com/m/releases/1.6/Django-1.6.1.tar.gz

 

一定要选择合适的python django版本,版本不合适很容易出各种问题,说多了都是泪。

安装python 双击python安装包 我选择安装在了C盘 接下来点next就好了

安装完成后,需要设置操作系统环境变量Path,添加Python安装路径 “;C:\Python33” 如图

 

设置完成之后,我们打开CMD命令提示符窗口,输入“python”,然后回车,应该可以看到类似的画面,如图

 

Ok,这个时候,我们的python就安装完成了,你可以输入指令 print “Hello world” 打印字符串,按回车键看一下程序的执行效果是否一样。

 

我们下载的这个Django-1.61.tar.gz文件是一个标准的Unix压缩格式的文件,我们在Windows下也可以使用WinRAR之类的软件进行解压,解压之后我们得到一个Django-1.6.1的目录,假设我们解压到D:\Django目录。我们打开DOS命令提示窗口,进入这个目录,然后执行python setup.py install 这个命令来开始Django的安装。如图

 

安装完成之后,我们发现 Django 被安装到了 C:\Python33\Lib\site-packages\django 这个目录。在这个目录中有一个bin子目录,存放的是Django的常用命令, 为了方便以后操作,我们需要将这个bin路径添加到操作系统环境变量Path。添加Django命令路径 “;C:\Python33\Lib\site-packages\django\bin”。如图

 

目前为止我们已经完成 Django 安装的操作,下边我们需要来验证一下我们是否可以开始工作了。首先我们打开一个CMD命令窗口,看看Django的常规指令是否能用,然后我们再看看Django是否已经和python语言环境集成到了一起。输入“Python”进入到python运行环境,在“>>>”提示符下,我们输入一个python的模块导入语句 “import django”,这个语句表示我们在目前 python 运行环境中引入”django”这个功能模块;然后我们使用这个功能模块的“VERSION”方法来查看这个模块的版本号,同样我们也看到了相同的版本 号。如果你的电脑上也完整的看到这些信息的话,那么OK,这证明你的电脑已经可以开始执行基于Django系统的python程序了。

 

 

 

开始编写程序

用命令行进入到你想保存网站程序的目录,比如我是在D盘,输入命令django-admin.py startproject blog 新建工程完成 cd blog 进入工程 manage.py runserver 启动web服务 如图

 

打开浏览器 地址栏输入:http://127.0.0.1:8000/ 你就能看到这样的页面了,如图

 

Django1.6.1中已经预先设置好了数据库,所以我们只需要输入 python manage.py syncdb 命令 来生成数据表 创建管理员用户就好了

 

管理员用户名、密码随便 密码是不会在命令行中显示的(这点和linux一样的) 如图

 

manage.py runserver 重启web服务 如图

 

浏览器输入http://127.0.0.1:8000/admin/ 进入管理界面 如图 

 

如果这些你都完成了,那么就离成功不远了。

 

现在我们要完成blog功能了,ctrl+c 结束web服务,输入命令manage.py startapp newpost 新建一个newpostapp 这是blog文件夹下就多了一个newpost 的文件夹

 

下面我们要来设计数据模型

 

在文件夹下打开D:\blog\newpost中的 models.py ,记得用编辑器打开,如图,

编辑代码
from django.db import models

from django.contrib import admin

# Create your models here.

class BlogPost(models.Model):

title = models.CharField(max_length=150)

body = models.TextField()

timestamp = models.DateTimeField()

class BlogPostAdmin(admin.ModelAdmin):

list_display = (‘title’,'body’,'timestamp’)

admin.site.register(BlogPost,BlogPostAdmin)
激活数据模型

在文件夹下打开D:\blog\blog中settings.py

修改
INSTALLED_APPS

INSTALLED_APPS = (

‘django.contrib.admin’,

‘django.contrib.auth’,

‘django.contrib.contenttypes’,

‘django.contrib.sessions’,

‘django.contrib.messages’,

‘django.contrib.staticfiles’,

‘newpost’

)
 

重新设计完数据模型后,我们需要生成一下数据库中没有的数据表,命令行中输入命令 python manage.py syncdb 如图

 

重启一下web服务 manage.py runserver 浏览器访问 http://127.0.0.1:8000/admin/ 如图

 

你会看到相比之前多了newpost栏目 点进去写几篇博文吧 如图

 

 

现在我们在后台可以写文章了,那怎么让大家可以在前台看到我们写的文章呢?

 

用正则表达式来匹配访问的url 在文件夹下打开D:\blog\blog 中的 urls.py

修改代码为
from django.conf.urls import patterns, include, url

from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns(”,

# Examples:

# url(r’^$’, ’blog1.views.home’, name=’home’),

# url(r’^blog/’, include(‘blog.urls’)),

url(r’^blog/’, include(‘newpost.urls’)),

url(r’^admin/’, include(admin.site.urls)),

)
 

在文件夹下打开D:\blog\newpost 新建urls.py

修改代码为
from django.conf.urls import patterns, url

from newpost import views

urlpatterns = patterns(”,

url(r’^$’, views.archive),

)

创建视图函数 在文件夹下打开D:\blog\newpost 修改view.py

from django.shortcuts import render

# Create your views here.

from django.template import RequestContext, loader

from django.http import HttpResponse

from newpost.models import BlogPost

def archive(request):

posts = BlogPost.objects.all()

template = loader.get_template(‘archive.html’)

context = RequestContext(request, {

‘posts’: posts,

})

return HttpResponse(template.render(context))
创建模版

在D:\blog\newpost 下 新建文件夹 templates 在 templates 文件夹下新建 archive.html 文件

修改 archive.html 的代码为
This is my blog,power by Django
{% for post in posts %}
{{ post.title}}
{{ post.timestamp}}
{{ post.body }}
{% endfor %}

Ok,现在启动一下web服务 manage.py runserver 浏览器访问 http://127.0.0.1:8000/blog 如图

现在前端页面也做好了 只是样子有点丑 没事接下来我们用css 美化它一下

 

打开D:\blog\newpost 新建一个static文件夹 在static中新建一个 style.css 文件

修改内容为
body {

background-color: #092e20;

}

.top{

width:980px;

height:50px;

margin-left:auto;

margin-right:auto;

margin-top:0px;

margin-bottom:0px;

font-size:36px;

color:white;

}

.content{

margin-left:auto;

margin-right:auto;

margin-top:10px;

margin-bottom:0px;

width:980px;

background-color:#234F32;

padding:10px;

}

.content h1{

font-size:24px;

}
在模版文件中引用style.css

打开D:\blog\newpost\templates 中的 archive.html

修改代码为
{% load staticfiles %}This is my blog,power by Django
{% for post in posts %}
{{ post.title}}
{{ post.timestamp}}
{{ post.body }}
{% endfor %}

启动一下web服务 manage.py runserver 浏览器访问 http://127.0.0.1:8000/blog 如图

第一次写教程,尽可能写的详细些,希望能对想学习Django的同学有所帮助,有什么问题可以给我留言交流。

 

本文作者 甜筒冰激凌 转载注明链接http://www.goolzhi.com/index.php/archives/2344

 

标签:
234
甜筒冰激凌 的头像
[共196篇]

个人空间: 点击进入

You must be logged in to post a comment.