Django基礎必會

Django基礎必會

  • Django項目目錄css

    • mysite
         -mysite
            -__init__.py
            -urls.py(函數和函數的對應關係)
            -settings.py(Django項目的配置信息)
            -wsgi.py(收發socket消息相關)
         -manage.py(命令行入口文件)
         -Template(專門用來放HTML文件的)
  • 必備三鍵套html

    • from django.shortcuts import HttpResponse, render, redirect
    • HttpResponse做用,內部與傳入一個字符串參數,返回給瀏覽器python

      • def index(request):    #內部必須有request
            # 業務邏輯代碼
            return HttpResponse("OK")
    • render做用,接收一個待渲染的模塊文件和一個保存具體數據的字典參數,將數據填充進模板文件,最後把結果返回給瀏覽器django

      • render(request, 'index.html')
        render(request, 'login.html', {'error_msg': error_msg})
      • 例:瀏覽器

      • def login(request):
            error_msg = ""
            if request.method == "POST":
                email = request.POST.get("email")
                pwd = request.POST.get("pwd")
                if email == "xyh@123.com" and pwd == "xyh123":
                    return redirect("/index/")
                else:
                    error_msg = "郵箱或者密碼錯誤,請從新輸入"
            return render(request, "login.html", {"error_msg": error_msg})   #html中有對應的格式,對其替換
    • redirect接受一個URL參數,重置向(跳轉)到指定URLsession

      • def index(request):
            # 業務邏輯代碼
            return redirect("/home/")   #在同一個網站的不一樣地址跳轉
          return redirect("https://www.baidu.com")  #跳轉到具體的URL
      • 實際樣式app

        • 5XbA9O.md.png
  • html文件相關文件配置框架

    • html文件放在templates文件夾中,根據setting.py中的關聯路徑
    • 5XbtOq.md.png
  • 靜態文件配置socket

    • 在setting.py文件底配置靜態文件保存目錄(css,JavaScript,Images都配置在靜態文件中)函數

    • # Static files (CSS, JavaScript, Images)
      # https://docs.djangoproject.com/en/1.11/howto/static-files/
      
      STATIC_URL = '/static/'
      # 固定的配置項,告訴Django框架個人靜態文件保存在哪些目錄下
      STATICFILE_DIRS =[
          os.path.join(BASE_DIR, "static")
      ]

      5Xb6Ue.md.png

  • 登錄示例

    • form表單提交數據的三個關鍵

      • form標籤必需要有action(提交到哪裏)和method屬性
        • 5XbxNX.png
      • form標籤中用戶輸入的標籤中必需要有name屬性
        • 5XbRbJ.png
      • form標籤中必需要有submit提交按鈕
        • 5XbgKB.png
    • 對於輸入框提交的值的獲取

      • request.POST     # 全部POST請求提交的數據(相似一個大字典)
        request.POST["pwd"]   #提取提交數據中的鍵爲pwd對應的值
        request.POST.get("pwd",None)  #提取值,放置報錯,推薦使用
  • Django app建立方法

    • 爲何要有app

      • 一個Django項目中能夠以app爲單位劃分不一樣的功能。
    • 1.建立Django項目時,在more setting中建立app文件,這樣pyCharm會自動配置文件

      • 5Xblcr.md.png
    • 2.直接在Django中Terminal中輸入命令

      • 5Xp3iK.png

      • python manage.py startapp app01 #app01爲app名字
      • 手動在setting.py中INSTALLED_APPS中加入app的信息

        • # Application definition
          # 當前項目中存在的app
          INSTALLED_APPS = [
              'django.contrib.admin',
              'django.contrib.auth',
              'django.contrib.contenttypes',
              'django.contrib.sessions',
              'django.contrib.messages',
              'django.contrib.staticfiles',
              # 'app01',
              'app01.apps.App01Config',  # 告訴Django 我有一個本身的app叫app01
          ]
        • 5XpDZn.png
  • Python基礎建立Django 項目步驟

    • 1.在pycharm或者命名行建立一個Django項目

      • django-admin startproject 項目名
    • 2.建立一個初始的app,而且在setting.py中配置app文件的目錄

      • python manage.py startapp app名字
    • 3.檢查settings.py 專門存放html文件的templates配置項

    • 4.配置靜態文件相關

      • 在項目的根目錄中建立一個用來存放靜態文件的static目錄

      • STATIC_URL = '/static/'
        STATICFILES_DIRS = [
              os.path.join(BASE_DIR, 'static'),  
           ]
    • 5.在settings.py文件中將Csrf大概46行註釋掉

      • 不然表單沒辦法提交數據,會提示forbidden 403的錯誤
相關文章
相關標籤/搜索