1. 程式人生 > 實用技巧 >Python學習17

Python學習17

Django

學習內容:

1、配置windows的Django環境
2、建立第一個Django專案
3、編寫第一個檢視
4、django中的資料遷移(遷移到mysql)
5、django的MVC模型

1、配置windows的Django環境

在windows的管理者視窗(cmd)輸入:pip install django

如果存在無法正常啟動django或者django的指令都不能使用,請仔細檢查一下環境變數

  • 視窗會的等待一會兒,然後會有下載django 的載入頁面,如果本地已經有了django會顯示當前django存在的位置,如下:
  • 查詢django的版本號:python -m django --version

2、建立第一個Django專案

  • 首先將cmd切換到專案需要放置的資料夾,然後輸入:django-admin startproject 專案名

  • django專案會自動生成以下檔案:

  • 最外層的 test1/ 根目錄只是你專案的容器, 根目錄名稱對Django沒有影響,你可以將它重新命名為任何你喜歡的名稱
  • manage.py:一個讓你用各種方式管理 Django 專案的命令列工具
  • 裡面一層的 mysite/ 目錄包含你的專案,它是一個純 Python 包
  • test1/init.py:一個空檔案,告訴 Python 這個目錄應該被認為是一個 Python 包
  • test1/settings.py:Django 專案的配置檔案
  • test1/urls.py:Django 專案的 URL宣告,就像你網站的“目錄”
  • test1/asgi.py:作為你的專案的執行在 ASGI 相容的Web伺服器上的入口
  • test1/wsgi.py:作為你的專案的執行在 WSGI 相容的Web伺服器上的入口
  • 測試該專案是否已經建立成功,進入專案資料夾,輸入:python manage.py runserver

python manage.py runserver IP/埠號:更改ip和埠號訪問

    • 同時可以把http://127.0.0.1:8000/複製下來到瀏覽器,出現以下畫面表示建立成功
    • 3、編寫第一個檢視

      應用:一個專門做某件事的網路應用程式
      專案:一個網站使用的配置和應用的集合

      專案可以包含很多個應用,應用可以被很多個專案使用

      • 建立polls專案
      • 在pycharm的terminal輸入:python manage.py startapp + 應用名
      • 注意要找到manage.py下建立應用


      • 檢視內容
        在polls應用的views.py中寫入會顯示的內容

      • URL對映
        polls 目錄裡新建一個 urls.py

      • 在根 URLconf 檔案中指定我們建立的 polls.urls 模組

      • 瀏覽器訪問 http://localhost:8000/polls/,能看見 “hello world! You`re at the polls index.” ,這是在 index 檢視中定義的


      4、django中的資料遷移(遷移到mysql)

      • 使用django進行資料庫開發的步驟如下:

      1、 配置資料庫連線資訊
      2、在models.py中定義模型類
      3、遷移
      4、通過類和物件完成資料增刪改查操作 -

      • django與mysql的資料型別對比:

      在setting中設定mysql資料庫的配置

      NAME:資料庫名
      USER:mysql使用者名稱

      • 在models中建立資料庫的模型
      • 將後建的應用加入到專案settings.py 中 INSTALLED_APPS 子項新增點式路徑
      • 檢測模型檔案的修改,並把修改部分生成唯一次遷移,最後返回一個0001檔案

      pycharm中terminal中輸入:python manage.py makemigrations polls

      生成的0001檔案

      from django.db import migrations, models
      import django.db.models.deletion
      
      
      class Migration(migrations.Migration):
      
          initial = True
      
          dependencies = [
          ]
      
          operations = [
              migrations.CreateModel(
                  name='Question',
                  fields=[
                      ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                      ('question_text', models.CharField(max_length=200)),
                      ('pub_date', models.DateTimeField(verbose_name='date published')),
                  ],
              ),
              migrations.CreateModel(
                  name='Choice',
                  fields=[
                      ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                      ('choice_text', models.CharField(max_length=200)),
                      ('votes', models.IntegerField(default=0)),
                      ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='polls.question')),
                  ],
              ),
          ]
    • 在檢測完成並且生成0001檔案之後,進行資料遷移

      pycharm中terminal輸入:python manage.py migrate

      (base) F:\pycharm\project\Django\yyt>python manage.py migra
      te
      Operations to perform:
        Apply all migrations: admin, auth, contenttypes, polls, s
      essions
      Running migrations:
        Applying contenttypes.0001_initial... OK
        Applying auth.0001_initial... OK
        Applying admin.0001_initial... OK
        Applying admin.0002_logentry_remove_auto_add... OK
        Applying admin.0003_logentry_add_action_flag_choices... O
      K
        Applying contenttypes.0002_remove_content_type_name... OK
      ...
      • 在Navicat中可以看到資料庫的表中增加了由pycharm遷移到mysql的表

      5、django的MVC模型