Django --- Django下載和APP建立 ORM (大概步驟)

1,下載:
      命令行: pip install django == 1.11.15
      pip install -i或 源 django == 1.11.15
      pycharm
      settings 解釋器 點 + 號 輸入django 選擇版本python

 

2,建立 Django項目
      1,命令行: (可能有的東西沒配置)
          cd 保存項目的目錄
          django - admin startporject 項目名
      2,pycharm(能夠本身都配置好)
          filr(按鈕)--> new project --選擇django ---->選擇解釋器--建立django項目mysql

 


3,啓動項目
        1,命令行:
          切換到 manage.py的目錄下
          cd
          python manage.py runserver #127.0.0.1:8000
          python manage.py runserver 80 #127.0.0.1:8000
          python manage.py runserver #0.0.0.1:8000
        2.pycharm
          配置項
          點綠色三角啓動sql

 


4,settings配置
    1,靜態文件
        STATIC_URL= "/static/" #別名 ()
        STATICFILES_DIRS = [
        os.path.join(BASE_DIR,"static"),數據庫

        ] (能夠建立多個)django

    2,TEMPLATES 模版 放HTML文件的地方
      DIRS [os....] 自動生成的瀏覽器

    3,註釋 csrf中間件
      MIDDLEWARE 第四行 csrf 註釋掉這一行
    4,數據庫的配置app

5, URL 和函數的對應關係 ---> urls.py
  urlpatterns[
    url(r"^admin/",admin.site.urls),
    url(),
  ]函數

6.APP
    1.建立APP
      1,命令行:
        python manage.py startapp APP名
      2,pycharm
        tools ---> run manage.py task --> startapp APP名post

    2.註冊APP
      在settings.py中
      INSTALLED_APPS[
      加上本身的APP名(如若pycharm建立 會自動添加 如果手動添加則按規範來
      "APP名字.apps.App01Config")url

      ]

7.使用mysql數據庫
    1.建立一個數據庫
    2.在srttings配置:
      DATABASES = {
          'default': {
            'ENGINE': 'django.db.backends.mysql', #引擎
            ‘NAME': 'db66', #數據庫名字
            "USER": "root", #帳戶
            "PASSWORD": "666666", #密碼
            "HOST": "127.0.0.1", #IP地址
            "PORT": 3306, #端口號
          }
      }
    3.告訴Django 使用pymysql 模塊鏈接數據庫
      在settings.py 同級目錄下的 __init__.py中寫(下載好了 pymysql):
        import pymysql
        pymysql.install_as_MYSQLad()

    4.建表 在APP文件夾裏 models.py文件中寫類(繼承 models.Model)
        class Userinfo(models.Model):
          user = models.CharField(max_length=32)
          pwd = models.CharField(max_length=32)

    5.執行命令 (數據庫遷移命令)
      Tools ---> Run~~
          python manage.py makemigrations #記錄models.py中類是否是有變化 將變化的內容記錄下來 記錄到了 APP文件下 migrations       0001_initial.py裏面
          python manage.py migrate

8 .ORM
      對象和關係型數據庫的映射 經過操做對象的方式來操做數據庫

      映射關係;
      類 ---> 數據表
      對象 ---> 數據行
      屬性 ---> 字段

      ORM 能作的事:
      操做數據表 (建表,刪表,改表)
      操做數據行

      ORM 的操做 :
        from login import models
        # 獲取全部數據
        models.Userinfo.objects.all() ---> Queryset類型
        # 獲取一條數據
        models.Userinfo.objects.get(user="??",pwd="??")
        get取不到數據或者取到多條數據的時候報錯
        #建立一條數據
        models.Userinfo.objects.creat(user="??",pwd="??")

 

 

        

        1.查
        from login import models
        # 獲取全部數據
        models.Userinfo.objects.all() ---> Queryset類型
        models.Userinfo.objects.all().order.by('id')排序 升序

        # 獲取一條數據
        models.Userinfo.objects.get(user="??",pwd="??")
        get取不到數據或者取到多條數據的時候報錯

        屬性:
        pub_pbj.id
        pub_obj.name
        外鍵:
        book_obj.id
        book_obj.title
        book_obj.publisher ---->書籍關聯的出版社對象
        book_obj.publisher_id ---->書籍關聯的出版社對象的id
        偶對多:
        autho_obj.id
        autho_obj.name
        autho_obj.books ----->管理對象
        autho_obj.books.all()
        2.增
        #建立一條數據
        (新變量名)=models.Userinfo.objects.creat(name="新名字")

        外鍵:
        models.Book.objects.creeate(title = '新的書名',publisher_pub_obj)
        models.Book.objects.create(title='新的名字',publisher_id=pub_obj.id)
        多對多:

        autho_obj=models.Author.objects.create(name='做者名字')
        authon_obj = books.set([1,2,5])

        3.刪
        #刪除一個
        models.Publisher.objects.get(id=1,name="xxx").delete()
        -------------------------------------------------------

        models.Publisher.objects.all().delete()

        4,改
        #普通修改
        pub_obj.name = '新的名字'
        pub_obj.save()
        -----------------------------------------------------------
        book_obj.title = '新的書名'
        book_obj.publisher = pub_obj

        book_obj.save()

9.form表單

      1.method ="post" (form表單裏面 必須帶有這個) action="" ,這是請求方式 和提交數據的地址
      2.全部的 input標籤要有name屬性, name的名字要和 上面ORM 的user pwd 相同
      3.有一個input 的type="submit" 或者有一個button 按鈕 就能夠提交form表單

10. views.py 寫函數
      request 跟請求相關的內容
      request.method 字符串 請求方式 GET/POST
      request.POST post請求提交的數據 字典
      request.GET get請求提交的數據

    返回值
      from django.shortcuts import HttpResponse,render,redirect

      HttpResponse("字符串") -->頁面顯示的就是字符串       render(request,"模版文件的名字") -->渲染你的HTML文件返回給瀏覽器       redirect("/要跳轉的URL/") --->重定向 告訴瀏覽器再向瀏覽器發次GET請求

相關文章
相關標籤/搜索