今天開始學(xué)習(xí)Django框架,首先需要了解Django框架的概念:
Django是一個開放源代碼的Web應(yīng)用框架,由Python寫成。采用了MVC的框架模式,即模型M,視圖V、控制器C。Django的主要目標(biāo)是使得開發(fā)復(fù)雜的、數(shù)據(jù)庫驅(qū)動的網(wǎng)站變得簡單。
Django 框架的核心組件有:用于創(chuàng)建模型的對象關(guān)系映射、為最終用戶設(shè)計的完美管理界面、一流的 URL 設(shè)計、設(shè)計者友好的模板語言、緩存系統(tǒng)。
然后我們來看一下Django的版本:



上面的圖分別是介紹Django框架版本的發(fā)行時間和不同版本支持的python版本等,大家可以根據(jù)不同的python版本安裝不同的Django版本。
了解完Django我們就可以開始使用Django創(chuàng)建項目了。
在pycharm中創(chuàng)建Django項目
創(chuàng)建項目之前我們先安裝Django,安裝命令行pip install django==1.11,后面的數(shù)字表示指定版本號,記得一定要用兩個等于喲~
然后我們需要創(chuàng)建Django的虛擬環(huán)境和創(chuàng)建項目目錄(注意:在Windows下用PyCharm創(chuàng)建Django項目,虛擬環(huán)境和目錄都直接創(chuàng)建好了,所以這兩步可以省略);
-
接下來就可以直接在PyCharm中創(chuàng)建Django項目啦,直接選擇File-->New Project-->Django-->Loaction-->自己的項目名稱-->Create,這樣項目就創(chuàng)建好了,如下圖,我的項目名稱是
First_Project
First_Project.png 創(chuàng)建好項目之后我們在項目中創(chuàng)建一個測試用的test.py文件,輸入一個
print("hello")試試,然后運行test.py:單擊右鍵->選擇run項目名稱,控制臺是不是會輸出一個hello呀。-
如果想運行整個Django項目,我們可以:
選擇Run-->Run-->你的項目名稱,就可以了,控制臺顯示如下:
控制臺.png 除此之外,我們還可以配置Django服務(wù)器的IP和Port,
選擇Run->點擊Edit Configurations,就可以在里面配置自己想要的端口,(可以選擇1到65535之間的數(shù)字,最好選擇80,但有些時候使用80會沖突,那就用8080或8081);
配置Django項目的數(shù)據(jù)庫
在settings文件中配置Django的數(shù)據(jù)庫,默認(rèn)是使用sqlite數(shù)據(jù)庫, 這里我們不使用sqlite,我們使用MySQL。
先安裝好MySQL的驅(qū)動mysqlclient:pip install mysqlclient,然后再去修改settings文件中DATABASES的數(shù)據(jù)庫配置,如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'First_Project',
'USER': 'first_project',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
然后我們現(xiàn)在命令窗口中登錄一下mysql數(shù)據(jù)庫,輸入mysql -uroot -p,然后輸入密碼,就能登錄數(shù)據(jù)庫了,如下:

如上就是已經(jīng)登錄數(shù)據(jù)庫成功了,我們使用
show databases;命令行檢查一下數(shù)據(jù)庫中有沒有剛剛我們創(chuàng)建的數(shù)據(jù)庫,如果已經(jīng)存在就修改一下settings配置中數(shù)據(jù)庫的名字,避免覆蓋之前的數(shù)據(jù)庫。
然后直接使用create database First_Project;命令行創(chuàng)建我們的數(shù)據(jù)庫,再給我們的user用戶授權(quán),使用grant all on First_Project. * to 'first_project'@'%' identified by '123456';,最后刷新一下列表flush privileges;,此時用戶創(chuàng)建成功了
我們可以使用命令:mysql -ufirst_project -p123456登錄,然后使用:show databases;查看一下數(shù)據(jù)庫是否創(chuàng)建成功,查看結(jié)果如下:

接著就可以生成數(shù)據(jù)庫表了,我們現(xiàn)在Tools-->Run manage.py Task中運行makemigrations來檢查數(shù)據(jù)庫表的更新,在運行migrate來更新數(shù)據(jù)庫表。
新版本的MySQL授權(quán)方式
新版的mysql,修改權(quán)限認(rèn)證
set global validate_password.policy=0;
set global validate_password.length=1;
用戶授權(quán)
create user 'new_project'@'%' identified by '123456';
grant all on New_Project.* to 'new_project'@'%';
如果有mysql等數(shù)據(jù)庫沒下載好的
- 可以下載Winginx,下載鏈接為:https://winginx.com/en/download
- Winginx是一個套裝,集成了我們要用的幾個數(shù)據(jù)庫,像MySql、MangoDB等,方便本地測試;
學(xué)習(xí)參考:https://www.9xkd.com/user/plan-view.html?id=4210722065

