pycharm 執行django伺服器端 以及建立app方法
我們先來了解一下一些必要的概念。Django 裡什麼東西叫 APP 呢?
我們已經建立了 project , 那麼 project 和 APP 之間到底有什麼不同呢?它們的區別就是一個是配置另一個是程式碼:
一個project包含很多個Django app以及對它們的配置。
技術上,project的作用是提供配置檔案,比方說哪裡定義資料庫連線資訊, 安裝的app列表, TEMPLATE_DIRS ,等等。
一個app是一套Django功能的集合,通常包括模型和檢視,按Python的包結構的方式存在。
例如,Django本身內建有一些app,例如註釋系統和自動管理介面。 app的一個關鍵點是它們是很容易移植到其他project和被多個project複用。
建立一個APP
在 “PythonProject” 專案檔案下輸入下面的命令來建立 “nowamagic” app:
1 |
python manage.py startapp nowamagic |
這個命令並沒有輸出什麼,它只在 PythonProject 的目錄裡建立了一個 nowamagic 目錄。 讓我們來看看這個目錄的內容:
1 |
nowamagic / |
2 |
__init__.py |
3 |
models.py |
4 |
tests.py |
5 |
views.py |
這個目錄包含了這個app的模型和檢視。
使用你最喜歡的文字編輯器檢視一下 models.py 和 views.py 檔案的內容。 它們都是空的,除了 models.py 裡有一個 import。這就是你Django app的基礎。
- 對於如何架構Django程式碼並沒有快速成套的規則。 如果你只是建造一個簡單的Web站點,那麼可能你只需要一個app就可以了; 但如果是一個包含許多不相關的模組的複雜的網站,例如電子商務和社群之類的站點,那麼你可能需要把這些模組劃分成不同的app,以便以後複用。
不錯,你可以不用建立app,這一點應經被我們之前編寫的檢視函式的例子證明了 。 在那些例子中,我們只是簡單的建立了一個稱為views.py的檔案,編寫了一些函式並在URLconf中設定了各個函式的對映。 這些情況都不需要使用apps。
但是,系統對app有一個約定: 如果你使用了Django的資料庫層(模型),你必須建立一個Django
後面你會發現,APP會給我們帶來多大的便利。
安裝Django
下載Django包,解壓縮。
CMD 進入解壓路徑下。
執行:python setup.py install
增加環境變數:
C:\Python27\Scripts測試django是否安裝成功
shell
import django
django.VERSION
把Django匯入專案
CMD 進入專案路徑
執行 django-admin.py startproject 專案名
執行開發伺服器
專案Django路徑下 python manage.py runserver
或
python manage.py runserver 8000或
通過指定一個 IP 地址,你可以告訴伺服器–允許非本地連線訪問。 如果你想和其他開發人員共享同一開發站點的話,該功能特別有用。 `` 0.0.0.0`` 這個 IP 地址,告訴伺服器去偵聽任意的網路介面。
python manage.py runserver 0.0.0.0:8000 以上是在cmd終端執行的django伺服器端接下來要在pycharm上執行伺服器端:1. 在PyCharm→Settings→Project Interpreter中安裝Django 1.9(Django框架程式碼)、PyMySQL 0.7.1(Django與MySQL Server之間的聯結器);
PyCharm中的專案所使用的Python直譯器以及包管理介面
2. 安裝MySQL伺服器端(推薦直接安裝MySQL Workbench,包括了Server和Client),並確認“計算機服務”中的“MySQL57”已啟動;
確認MySQL57服務已啟動
3. Django專案中配置settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #設定為mysql資料庫
'NAME': '', #mysql資料庫名
'USER': '', #mysql使用者名稱,留空則預設為當前linux使用者名稱
'PASSWORD': '', #mysql密碼
'HOST': 'localhost', #留空預設為localhost
'PORT': '3306', #留空預設為3306埠
}
}
4. Django專案中配置__init__.py
由於django2.x版本時支援的是MySQLdb,PyMySQL是作為停更的MySQLdb支援python3.x,因此需要新增如下設定:
import pymysql
pymysql.install_as_MySQLdb()
5. 開啟Workbench,新建Model(Schema),命名與步驟3中的'NAME'一致,儲存為.mwb檔案。新建任意一個table(建立任意一列),然後在選單欄Database中執行Forward Engineer,之後可以在Navigator欄中的SCHEMAS中看到之前新建的Schema(eds)。若在新建Model後直接執行Forward Engineer,則會因為是空模型而建立失敗。
在MySQL中建立成功的eds
6. 在PyCharm中的Terminal中執行以下命令,可以在MySQL Server中建立django專案中的定義的所有Model。
python manage.py makemigrations
python manage.py migrate
7. 在PyCharm中的Python Console中執行如下命令,可以在資料庫eds中的polls_question表中建立新的資料條目。
from django.utils import timezone
from polls.models import Question
Question(question_text='Hello 2016', pub_date=timezone.now()).save()