一、搭建開發環境
我用的是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 ,記得用編輯器打開,如圖,
編輯代碼
<code>from django.db import models/<code>
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
修改
<code>INSTALLED_APPS/<code>
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
修改代碼為
<code>from django.conf.urls import patterns, include, url/<code>
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
修改代碼為
<code>from django.conf.urls import patterns, url/<code>
from newpost import views
urlpatterns = patterns(”,
url(r’^$’, views.archive),
)
創建視圖函數 在文件夾下打開D:\blog\newpost 修改view.py
<code>from django.shortcuts import render/<code>
# 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 的代碼為
<code>This is my blog,power by Django/<code>
<code>{% for post in posts %}/<code>
<code>{{ post.title}}/<code>
<code>{{ post.timestamp}}/<code>
<code>{{ post.body }}/<code>
<code>{% endfor %}/<code>
Ok,現在啟動一下web服務 manage.py runserver 瀏覽器訪問
http://127.0.0.1:8000/blog 如圖
現在前端頁面也做好了 只是樣子有點醜 沒事接下來我們用css 美化它一下
打開D:\blog\newpost 新建一個static文件夾 在static中新建一個 style.css 文件
修改內容為
<code>body {/<code>
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
修改代碼為
<code>{% load staticfiles %}This is my blog,power by Django/<code>
<code>{% for post in posts %}/<code>
<code>{{ post.title}}/<code>
<code>{{ post.timestamp}}/<code>
<code>{{ post.body }}/<code>
<code>{% endfor %}/<code>
啟動一下web服務 manage.py runserver 瀏覽器訪問
http://127.0.0.1:8000/blog 如圖
第一次寫教程,儘可能寫的詳細些,希望能對想學習Django的同學有所幫助,有什麼問題可以給我留言交流。