python之Django的入門01------'hello word'

Django是一個開放源代碼的Web應用框架,由Python寫成。


Django是一個基於MVT構造的框架:模型(Model)、模板(Template)和視圖(views)。


核心:解耦
目的:高內聚,低耦合

模型(Model),即數據存取層:處理與數據相關的所有事務: 如何存取、如何驗證有效性、包含哪些行爲以及數據之間的關係等。

模板(Template),即業務邏輯層:處理與表現相關的決定: 如何在頁面或其他類型文檔中進行顯示。
視圖(View),即表現層:存取模型及調取恰當模板的相關邏輯。模型與模板的橋樑。

框架把控制層給封裝了,無非與數據交互這層都是數據庫表的讀,寫,刪除,更新的操作。在寫程序的時候,只要調用相應的方法就行了,感覺很方便。程序員把控制層東西交給Django自動完成了。 只需要編寫非常少的代碼完成很多的事情。




下面我們在Linux裏,來使用pycharm和mysql數據庫,來進行一次簡單的數據庫交互。

1.首先打開終端創建一個虛擬環境(虛擬環境的好處在於可以隨意玩,並且可以只搭建自己用得到的部分)

創建一個python3虛擬環境語句:
(mkvirtualenv -p python3 虛擬環境的名字 )
mkvirtualenv -p python3 waterDB_django

'''
#退出虛擬環境命令:deactivate
#查看虛擬環境: workon
#開啓虛擬環境命令:  workon waterDB_django
#刪除虛擬環境: rmvirtualenv 虛擬環境的名字
'''

在虛擬環境裏安裝Django: pip install django==1.8.4




2.創建項目
創建項目的語句(最好在虛擬環境裏安裝):

django-admin startproject watercar

#watercar是項目名字
#下列是生成項目後自動配置成的:
#    manage.py            :項目管理文件,用來管理項目
#         watercar         :項目同名文件夾
#   ├── __init__.py      :表示我們這個文件可以被使用
#   ├── settings.py      :配置文件(數據庫,郵箱等配置)
#   ├── urls.py          :項目的所有地址配置
#   └── wsgi.py          :就是我們Django 小型服務器入口





3.創建模塊:
在(waterDB_django) python@ubuntu:~/Desktop/watercar$ 裏創建

#(waterDB_django)是加載了創建的虛擬環境。
#python@ubuntu:~/Desktop/watercar$  是進入項目裏面

創建模塊語句:python manage.py startapp user

#user是模塊名字
接下來在pycharm裏打開watercar,在同名文件裏的setting裏在INSTALLED_APPS裏添加一句:['user'] 

在pycharm裏添完user後,模塊與項目就產生了關聯
可以運行服務器: python manage.py runserver (+端口名字)
打開地址,然後網頁顯示:it is worked

#端口名字不寫的話,默認爲端口:8000

4.連接數據庫:
在pycharm裏的項目同名文件夾下的setting裏:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'waterDB',     #數據庫名字,必須先在MySQL裏新建一個waterDB數據庫
        'USER':'root',        #權限
        'PASSWORD':'mysql',   #密碼
        'PORT':3306,        #默認3306端口
        'HOST':'localhost'   #本地機
    }
}

5.用pycharm控制數據庫-----建表:
在模塊user的model裏面:

class UserInfo(models.Model):
    user_name = models.CharField(max_length=20)
    password = models.CharField(max_length=20)
    email = models.CharField(max_length=20)
    phone = models.IntegerField()
    #這個時候數據庫裏表還沒有生成,因爲我們還沒有把表遷移進去

6.安裝pymysql 模塊,並且在項目的同名文件夾下的————init.py文件下添加語句:

import pymysql

pymysql.install_as_MySQLdb()

7.遷移(建表):

生成遷移文件:
    python manage.py makemigrations
執行遷移文件:
    python manage.py migrate

這個時候把表遷移進去了,可以在終端打開MySQL數據庫查看

#orm查詢語句:
#	    1查詢所有
#	    	UserInfo.objects.all()
#	    2查詢指定對象
#	    	obj1 = UserInfo.objects.get(id=1)
#	    3查詢指定字段
#	    	obj1 = user_name
#	    4修改指定字段的值
#	    	obj1.password = 54321	
#	    5查詢老張所擁有的地址(關聯):
#	    	obj1 =  UserInfo.objects.get(id=2)
#	    	obj1.useraddress_set.all()

8.進入Django自帶的服務器:
在終端(waterDB_django) python@ubuntu:~/Desktop/watercar$ :

先創建超級管理員:
	python manage.py createsuperuser;
	
	#name=用戶名  #用戶名要記得,很重要
	#password=密碼   #密碼要記得,很重要
	
再運行服務器:
	python manage.py runserver;
	#運行服務器

然後在網頁上輸入它生成的地址,輸入用戶名和密碼就進去了:

例如:http://127.0.0.1:8000/admin




9.配置Django後臺更符合我們使用:

界面使用中文,在項目同名文件的setting下修改:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'


註冊模塊到admin:
在模塊user的admin裏:
from user.models import UserInfo

class UserInfoAdmin(admin.ModelAdmin):
    list_display = ['id','user_name','password','email','phone']

admin.site.register(UserInfo,UserInfoAdmin)

使用表userinfo時展示其名字:
在模塊user的model文件,裏面的userinfo類裏,加一句:
def __str__(self):
    return self.user_name

10.使用urls:

10.1首先我們要把user的urls註冊到項目的同名文件的urls.py文件裏:
在urls裏的urlpatterns裏面添加:
	url(r'^',include('user.urls'))   #就是關聯一下路徑,在模塊user裏的urls文件,此時文件還沒有創建,下面就來創建它



10.2創建user的urls.py文件:
在urls裏面寫上:
from django.conf.urls import include, url
from user import views

urlpatterns = [
    # 127.0.0.1/index
    url(r'^index$',views.index),
]


10.3根據url地址請求,創建對應的視圖函數,注意點:必須有一個參數來接收請求,必須有拋出一個返回結果
在模塊user的views裏面寫入:
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse('歡迎')

然後在網頁上輸入http://127.0.0.1:8000/index  就可以看到‘歡迎’了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章