WEB框架之---Django初級篇

一、下載與安裝(Windows版)

    下載地址:https://www.djangoproject.com/download/

    或者通過命令:pip install django==1.11.2進行安裝(Python3使用pip3)推薦使用此版本


    安裝完成後找到django-admin.exe所在的路徑,將其添加到環境變量Path中,以便於今後在任何位置運行命令。


二、創建django程序


    1、終端方式創建

   django-admin startproject my_site
   #創建一個名稱爲my_site的django程序,即文件夾,在哪個目錄執行命令即在那個目錄創建

     執行成功之後會生成如圖目錄結構:

wKioL1lSB2ShsXwBAAC2OQb5dGg897.png

    執行:python manage.py runserver 127.0.0.1:8000

       這時,django已經在本地跑起來了...

    

    其他常用命令:

      python manage.py runserver 0.0.0.0  #不限定IP和端口
      python manage.py startapp appname #在項目中創建app即不同的功能模塊
      python manage.py syncdb                  #同步數據庫
      python manage.py makemigrations    #基於當前的model創建新的遷移策略文件
      python manage.py migrate               #用於執行遷移動作

          python manage.py createsuperuser     #創建超級管理員

    注:migration是基於App的, 因此, 我們可以針對某些app不啓用migration功能 

    2、IDE方式創建django項目

        工具:pycharm

        步驟:File---NewProject---Django---選擇好Python解釋器然後點擊“create”即可搞定


三、配置

    1、配置數據庫

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}

    可在與項目名同名的目錄中找到settings.py文件然後將默認的DATABASES項進行修改,Django支持多種數據庫,上述爲mysql配置方式,詳情請參考官方文檔

    另外,Django默認的連接mysql的模塊爲MysqlDB,而python3中還沒有此模塊,需要使用pymysql,這時需要在__init__.py中導入pymysql並設置

import pymysql
pymysql.install_as_MySQLdb()


    2、模板配置

TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,'templates'),
    )

    此項一般不用設置,瞭解其是放置模板文件(html)的即可

    3、靜態文件路徑

STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'),
    )

     此目錄放置網站所用到的圖片、媒體、樣式、插件等文件

    4、剛接觸django,建議先註釋掉settings.py文件中的以下一行,後面做以解釋,不然測試時有可能出現錯誤

MIDDLEWARE中的:# 'django.middleware.csrf.CsrfViewMiddleware',


四、路由系統

    所謂路由,其實就是路徑,導向,即一個URL請求來到服務器端之後,django怎麼取匹配這個url並且得需要判斷這個url具體應該訪問到哪些資源或者定位到哪個地方,然後再由相應的地方處理此請求並且返回給客戶端。

    1、單一路由對應:一個url對應一個處理函數,即

    url(r'^index$', views.index),

    2、基於正則的路由

    url(r'^index/(\d*)', views.index),
    url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),

    3、添加額外的參數

    url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),

    4、爲路由映射設置名稱

    url(r'^home', views.home, name='h1'),
    url(r'^index/(\d*)', views.index, name='h2'),

設置名稱之後,可以在不同的地方調用,如:

  • 模板中使用生成URL     {% url 'h2' 2012 %}

  • 函數中使用生成URL     reverse('h2', args=(2012,))      路徑:django.urls.reverse

  • Model中使用獲取URL  自定義get_absolute_url() 方法

    5、根據app對路由規則進行分類(路由分發)

    url(r'^web/',include('web.urls')),

    django中的路由系統和其他語言的框架有所不同,在django中每一個請求的url都要有一條路由映射,這樣才能將請求交給對一個的view中的函數去處理。其他大部分的Web框架則是對一類的url請求做一條路由映射,從而是路由系統變得簡潔。


五、admin

    django amdin是django提供的一個後臺管理頁面,改管理頁面提供完善的html和css,使得你在通過Model創建完數據庫表之後,就可以對數據進行增刪改查,而使用django admin 則需要以下步驟:

  • 創建後臺管理員

  • 配置url

  • 註冊和配置django admin後臺管理頁面


    1、創建後臺管理員

    python manage.py createsuperuser

    2、配置後臺管理url

    url(r'^admin/', include(admin.site.urls))

    3、註冊和配置django admin後臺管理頁面

    admin.py中執行如下代碼:

    from django.contrib import admin
      
    from app01 import  models
      
    admin.site.register(models.UserType)

    另外,還可通過Bootstrap給後臺管理頁面添加樣式,讓頁面好看起來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章