今天來簡單總結一下使用Pycharm和Django來搭建一個最簡單的Python Web 應用(就是咱們所說的‘Hello World’)。在這裏,咱們首先假設已經安裝好了Python(2.x 和3.x版本都可)。python
不管是Python2.x仍是Python3.x版本,均可以使用pip來安裝Django。在控制檯使用以下命令:web
pip install django
安裝成功後,在ipython裏面或者Pycharm的Python console控制檯導入django,並查看版本信息,使用以下命令:正則表達式
import django django.VERSION
就看到以下信息,表示django已經安裝成功。django
Out[3]: (1, 11, 3, 'final', 0)
接下來就讓咱們用Pycharm 開啓第一個Django程序吧。瀏覽器
Pycharm能夠幫助咱們很自動化的創建一個完整的項目結構。點擊Pycharm的File,選擇New Project…,在選擇左側的Django,在右側填寫項目路徑和選擇Python版本。以下圖:session
點擊確認後,在我剛剛新建的項目文件下會看到如下的文件結構:app
這裏簡單解釋一下這幾個文件:
__init__.py:這是一個初始化的空文件,通常咱們不須要動它。
settings.py: 這是一個配置文件,裏面有關於語言、時區、安裝的app聲明等等信息;
urls.py: 這個文件裏指明瞭在訪問一個頁面時要調用的視圖啊等的映射,確保在訪問時能夠正肯定位到你要實現的功能;
wsgi.py: 這是一個關於web程序的wsgi的相關配置,咱們暫時不須要修改它。
manage.py: 能夠理解爲他是django應用的控制中心,許多命令的實現,都須要他來調動,後面說。函數
後面咱們每添加一個web application,就須要按照這樣的方式來建立一個app,具體操做以下:
在cmd或者Pycharm的Terminal控制檯裏,cd 進入到上面建立的項目的manage.py文件所在的路徑下,例如:url
cd :\PythonProjects\mysite>
而後使用manage.py來建立一個app,輸入命令以下:spa
python manage.py startapp blog
其中blog是我搖建立的app的名字,以後刷新pycharm的文件結構,會看到在剛剛新建的mysite項目下,會多出來一個blog文件夾,裏面的文件結構以下:
(1)修改blog/views.py
這裏的每一個文件的做用能夠參考文檔,重點說一下重點blog/views.py這個文件,他是一個視圖文件,等你回來咱們要顯示的Hello World就要在這個文件裏實現。咱們在這個文件定義一個函數index()來實現咱們的要求,具體以下:
from django.http import HttpResponse def index(request): return HttpResponse('Hello!')
(2)修改mysite/settings.py
上面新建了app後,咱們就要想將這個app的名字 添加到mysite目錄下的settings.py文件中,找到INSTALL_APP,在末尾添加,具體以下:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # 這裏直接寫app的名字就好,寫mysite.blog會報錯 ]
(3)配置mysite/urls.py
這是最後一步配置,須要在這裏指明上面寫的app以及app要實現的功能,否則映射不正確,在訪問網頁的時候回出現404的錯誤,具體以下:
from django.conf.urls import url from django.contrib import admin from blog import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index), ]
這裏有幾個地方須要注意:
(4)啓動服務
上述的全部文件都配置無誤後,就能夠啓動服務了。在cmd或者Terminal控制檯,cd 到manage.py所在路徑下,執行:
python manage.py runserver
會看到以下的提示信息:
這個時候咱們在瀏覽器裏輸入圖中提示的地址: http://127.0.0.1:8000/index,(其中index就是urls.py裏咱們設置的那個鍵值),回車後會看到以下界面:
若是咱們輸入http://127.0.0.1:8000/admin,則會出現以下的驗證信息:
在修改urls.py文件時,有個問題困擾我好一下子。在導入views時,Pycharm引導的方式是 使用from mysite.blog imoprt views 或者import mysite.blog.views,可是若是這樣作的話,在啓動服務的時候,會報錯ModuleNotFoundError,也就是說根本找不到mysite.blog;把他修改爲from blog import views時,能夠正常啓動服務看到咱們想要的結果。但此時有個問題,會發如今Pycharm中會出現紅色的錯誤提示,很鬱悶有沒有???好吧,咱們就當這是Pycharm的一個bug好了吧,強迫症就先忍忍吧!