我的環境為:Python2.5.4 + Django1.3 + SQLite3
----------
0.錯誤訊息Django Short names for ENGINE DeprecationWarning
Django1.3中
'ENGINE': 'sqlite3' 改為 'ENGINE': 'django.db.backends.sqlite3'
'ENGINE': 'sqlite3' 改為 'ENGINE': 'django.db.backends.sqlite3'
通常是縮排問題
2.錯誤訊息 TypeError: __init__() got an unexpected keyword argument 'maxlength'
Django1.3改為max_length
4.pysqlite2._sqlite.OperationalError: unable to open database file
兩個原因:1.目錄沒有權限 2.資料庫路徑錯誤
1. 請把目錄改為有read/write權限
2. 如果是Local測試,可以使用相對目錄,否則用完整路徑。
------------------------------------------------------------
Django官方教學文件:https://docs.djangoproject.com/en/1.3/
*在shell中執行p.was_published_today()命令會出現錯誤"NameError: global name 'datetime' is not defined"
[解決方法]:
因為沒有import datetime,所以要在models.py中加入"from datetime import date"。
或者:
from django.db import models
import datetime
*沒有建立Django的SuperUser
[解決方法]:命令列輸入 "manage.py createsuperuser"
------[Django SOP]-----
1. 建立專案
django-admin.py startproject mysite
2. 編輯設定,資料庫類型與名稱(路徑)
settings.py
3. 同步資料庫,建立資料庫超級使用者
python manage.py syncdb
4. 建立應用程式
python manage.py startapp polls
5. 建立資料模型
6. Settings 中 INSTALLED_APPS區段中加入應用程式
7. 觀看與同步資料庫
python manage.py sql polls #look
python manage.py syncdb
8. 安裝管理者工具,在Settings 中 INSTALLED_APPS區段中加入django.contrib.admin,且url.py取消admin的註解 (要在同步一次資料庫)
9. 運行Server測試admin(此時只有基礎admin功能)
10. 在使用的apps資料夾中加入admin.py,內包含要編輯的資料表,之後重啟Server(新增code不用,新增檔案需要)
from polls.models import Poll
from django.contrib import admin
admin.site.register(Poll)
-----
Django註解:http://fms-django.blogspot.com/
templete中使用變數 :http://www.soyoucode.com/2011/set-variable-django-template
Django 外來鍵引用方式: Poll 1-n Choice[ForeignKey(Poll)]
poll參照choice:Poll.objects.get(pk=id).choice_set.all()
choice參照poll:choice.poll.---
沒有留言:
張貼留言