網站項目001

網站計劃001

1 在後臺可以增加地點,地點有描述。(暫時這樣,以後再擴展)
2
用戶可以註冊、登錄、登出
3
註冊後會收到郵件確認
4
用戶可以使用註冊的郵箱來重置密碼
5
用戶/非用戶可以瀏覽地點列表、各地點詳細頁面。
6
用戶可以在瀏覽地點的時候選擇想去或者去過,可以添加簡短的描述,去過可以平分。可以修改和刪除自己去過和想去的地點。
7
用戶可以對地點進行評論,可以修改和刪除自己添加的評論。

開始實現

第一天

準備工作

設置,新建app

修改settings.py
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = 'travelsite'
切換到項目目錄,執行
python manage.py syncdb
按照提示輸入超級用戶以及密碼。


運行
python manage.py startapp travel
這一步會創建一個travel文件夾,這個就是新建的app。

安裝(激活)這個新建的app需要修改settings:
INSTALLED_APPS = (
    ……
    'travelsite.travel',
)

建立腳本文件

在項目文件夾下建立shell.py,內容如下:
#!/bin/sh
python manage.py shell
這個shell腳本可以在終端裏直接敲入Django代碼。

新建syncdb.sh,內容:
#!/bin/sh
python manage.py syncdb
執行該腳本即可同步數據庫

建立模型

修改models.py,添加一個模型:

class Place(models.Model):
    name = models.CharField(max_length=200)
    desc = models.TextField()
    def __unicode__(self):
        return self.name

再次執行syncdb

自動的Admin

1 激活 admin

修改settings,添加 INSTALLED_APPS,添加:
    'django.contrib.admin',
執行同步數據庫的shell腳本
註釋掉urls.py admin 的兩行。
訪問http://127.0.0.1:8000/admin/,持續出錯,顯示:
OperationalError: no such table: django_session
查明原因,settings中配置的數據庫應該是絕對路徑,修改爲:
DATABASE_NAME = '/root/workspace/travelsite/travelsite'
訪問http://127.0.0.1:8000/admin/,出現admin界面。

 Django admin界面

2 註冊模型

travel文件夾下創建admin.py,輸入內容:

from travelsite.travel.models import Place
from django.contrib import admin

admin.site.register(Place)

這樣就可以在admin界面添加、修改和刪除新的地點了。

Django admin 添加界面

主要參考
Django documentation, Tutorial: Part 1 | Part 2

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章