#意外狀況出現,覺得電腦硬盤真的壞掉了。原來是忘記插電源 @。@ ~ 前些時間玩遊戲,電腦無端忽然斷電關機,再開機一閃便又忽然斷電關機。最終找到緣由,電腦過熱,保護性關機。而後將光驅拆下,發現散熱效果好了一些,最重要的緣由仍是好幾天沒玩遊戲了...........閒話略多,轉入正題python
(一)關於Djangolinux
Django是一個基於MVC構造的框架。可是在Django中,控制器接受用戶輸入的部分由框架自行處理,因此 Django 裏更關注的是模型(Model)、模板(Template)和視圖(Views),稱爲 MTV模式。sql
Ubuntu下的安裝:通常都自帶Python的。網上教程比較多了....shell
dizzy@dizzy-pc:~$ python Python 2.7.3 (default, Apr 20 2012, 22:44:07) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import django >>> help(django) VERSION = (1, 6, 4, 'final', 0) #能夠查看django版本等信息。
(二)第一個Django的app數據庫
#環境:Python2.7,Django1.6,Ubuntu12.04
Python 及 Django 安裝成功以後,就能夠建立Django工程了 django
(1)教你開始寫Django1.6的第1個appvim
#先建立一個文件夾 dizzy@dizzy-pc:~$ mkdir Python dizzy@dizzy-pc:~$ cd Python #而後建立工程 dizzy@dizzy-pc:~/Python$ django-admin.py startproject mysite dizzy@dizzy-pc:~/Python$ cd mysite #而後這個工程就能夠啓動服務了 dizzy@dizzy-pc:~/Python/mysite$ python manage.py runserver Validating models... 0 errors found July 23, 2014 - 14:17:29 Django version 1.6.4, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. #這樣,打開瀏覽器訪問: 即可看到: It Worked! 關閉服務:ctrl+c #新建立的項目裏面會有:manage.py文件,mysite文件夾 #在mysite文件夾裏面會有:__init__.py,settings.py,urls.py,wsgi.py四個文件 #__init__.py是一個空文件, #setting.py 是項目的配置文件。須要修改兩個地方,這裏使用默認的SQLite3數據庫 LANGUAGE_CODE = 'zh-cn' #原:en-us TIME_ZONE = 'Asia/Shanghai' #原:UTC #配置完以後,即可以建立數據表了 dizzy@dizzy-pc:~/Python/mysite$ python manage.py syncdb #建立是還要設置一個超級管理員,用於後臺登陸。 #設置完以後,開啓服務,即可進入後臺管理界面了:http://127.0.0.1:8000/admin/
(2)教你開始寫Django1.6的第1個app瀏覽器
#建立一個用於投票的app。 #進入mysite工程根目錄,建立app dizzy@dizzy-pc:~/Python/mysite$ python manage.py startapp polls dizzy@dizzy-pc:~/Python/mysite$ ls polls admin.py __init__.py models.py urls.py views.py #這樣。Django已經生成了,app一般所需的模板文件。
下面建立兩個models。Poll 和 Choicesession
dizzy@dizzy-pc:~/Python/mysite$ vim polls/models.py
修改文件以下:app
from django.db import models # Create your models here. from django.db import models class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): poll = models.ForeignKey(Poll) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0) #基本建立model過程就是這樣,細節還要深刻研究!
而後修改工程的配置文件setting.py,在INSTALLED_APP元組下面添加剛纔建立的app:polls
dizzy@dizzy-pc:~/Python/mysite$ vim mysite/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls', ) #可使用 python manage.py sql polls 查看app的建表SQL #使用 python manage.py syncdb 進行建立數據庫表 dizzy@dizzy-pc:~/Python/mysite$ ./manage.py sql polls BEGIN; CREATE TABLE "polls_poll" ( "id" integer NOT NULL PRIMARY KEY, "question" varchar(200) NOT NULL, "pub_date" datetime NOT NULL ) ; CREATE TABLE "polls_choice" ( "id" integer NOT NULL PRIMARY KEY, "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"), "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL ) ; COMMIT; #這樣就能夠經過設置model讓Django自動建立數據庫表了
要想在後臺admin中管理polls。還須要修改app下面的admin.py 文件。
from django.contrib import admin # Register your models here. from django.contrib import admin from polls.models import Choice,Poll class ChoiceInLine(admin.StackedInline): model = Choice extra = 3 class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields':['question']}), ('Date information', {'fields':['pub_date'],'classes':['collapse']}), ] inlines = [ChoiceInLine] admin.site.register(Poll,PollAdmin) #這部分代碼,大致能看懂,具體的規則還要稍後的仔細研究。 ##這部分代碼,因爲拼寫失誤,致使多處出錯。細節決定成敗!!
這樣再重啓服務,就能在後臺管理polls應用了。