日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一些杂想

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一些杂想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一些雜想

Django 筆記

(目前個人認為,Django 還是應該使用 Django1.11版本,穩定長期支持到2020年,兼容性也好。)

Django MTV 構架下的網站開發步驟:

  • 使用 virtualenv 創建并啟用虛擬機環境。
  • 使用 pip install 安裝 Django1.11。
  • 使用django-admin startproject 創建項目。
  • 使用python manage.py startapp 創建 app。
  • 創建 templates 文件夾,并把所有網頁模板(.html)文件都放在此文件夾中。
  • 創建 static 文件夾,并把所有靜態文件(圖像文件、.css 文件以及.js 等)都放在此文件夾中。
  • 修改setting.py,把相關文件夾設置都加入,也把生成的 app 名稱加入INSTALLED_APPS 序列中。
  • 編輯 models.py,創建數據庫表格。

  • 編輯 views.py, 先 import 在 models.py 中創建的數據模型。

  • 編輯 admin.py,把 models.py 中定義的數據模型加入,并使用 admin.site.register 注冊新的類,讓 admin 界面可以處理數據庫內容。
  • 編輯views.py, 設計處理數據的相關模塊,輸入和輸出都通過 templates 相關的模塊操作獲取來自于網頁的輸入數據,以及顯示.html 文件的網頁內容。
  • 編輯urls.py, 先 iimport 在 views.py 中定義的模塊。
  • 編輯 urls.py,創建網址和 views.py 中定義的模塊的對應關系。
  • 執行 python manage.py makemigrations 。
  • 執行 python manage.py migrate 。
  • 執行 python manage.py runserver 測試網站。

  • templates 模板的標準步驟:

  • 找到使用的模板,如果沒有,就建立一個,存放在 templates 文件夾下。
  • 在 views.py 的處理函數中查詢,計算并準備數據,把要顯示在網頁上的數據使用字典格式編排好。
  • 使用 get_template 函數取得要使用的模板的執行實例 instance,一般會直接命名為 template。
  • 通過 template 把變量以字典類型的形式傳入,渲染成一個字符串 html。
  • 把 html 通過 HTTPResponse 傳送給服務器。
  • 在 template 中使用 static 文件

    • 在 setting.py 中,設置 STATIC_URL 使用的網址,例如 STATIC_URL=‘/static’,也就是指定在網址中以/static/開頭的網址就視為要對靜態文件進行讀取。
    • 在setting.py 中設置 STATICFILES_DIRS,這是設置靜態文件真正要存放的文件位置。一般而言都會放在網站目錄下的 static 文件夾中,所以都會以os.path.join(BASE_DIR, ‘static’)進行設置。
    • 在 template 文件中使用靜態文件的專用加載模式。
    • forloop.counter()是用來顯示當前是第幾個循環的一個計數器,forloop.counter()是從0開始計數的,而forloop.counter()是從0開始的。
    • 模板中使用 { % url “account_signup” % } 這樣的標簽來自動產生相對應的網址。
    • 要在網站中建立自定義標簽,就要在網站 App 目錄下創建一個 templates 文件夾,然后把要創建這些自定義標簽的函數放在這個文件夾想,自己命名一個文件,同時為了要讓這個文件夾可以被 Python 視為一個可導入的模塊,在同一個文件夾下還要創建一個 __init__.py 文件。

    使用 models:

    • 定義類,參數導入 models.Model,然后就可以使用 models.* 來指定數據表中每一個字段的特征。
    • 首次設置 model 的內容要先執行 makemigrations 的指令以及 migrate 指令。執行后系統就會把我們設置的NewTable 數據表建立到數據庫中,可以在 setting.py 中修改數據庫類型。
    • 編輯 models.py 后,一定要再執行migrate 才行(如果中間修改過,就需要先執行 makemigrations )。這兩個指令要求套用最新的數據表的新增或修正的內容)即先執行 makemigrations ,再執行 migrate 。
    • 通過 python manage.py shell 進入 Python shell 。
    • 在Python 3中,數字上不允許使用前導零, 數字前面寫0將表示8進制。
    • mysite/migrations 的文件夾下有所有做過 makemigrations 的記錄,可以很容易地從這些文件的編號中看出變更的順序以及在每一個階段中變更的內容。如果有必要,可以直接修改這些內容,然后執行一次 python manage.py makemigrations 和 migrate 就可以反映出修改后的數據表結構。當然,如果不小心把所有內容都改亂了,那么把這個文件夾中除了__init__.py 文件外的所有文件都刪除,并刪除上一層目錄中的 db.sqlite3 數據庫文件,等于是所有數據庫內容全部重置,重新來過了。

    站點引用Bootstrap插件的方式有兩種:

    • 單獨引用:使用 Bootstrap 的個別的?*.js?文件。一些插件和 CSS 組件依賴于其他插件。如果您單獨引用插件,請先確保弄清這些插件之間的依賴關系。

    • 編譯(同時)引用:使用?bootstrap.js?或壓縮版的?bootstrap.min.js。

    • 不要嘗試同時引用這兩個文件,因為?bootstrap.js?和?bootstrap.min.js?都包含了所有的插件。

    • 所有的插件依賴于 jQuery。所以必須在插件文件之前引用 jQuery。

    • 使用 bootstrap 建議直接使用 CDN 鏈接的方式。放在<head></head>之間即可。一般是放在</head>這一行的前面。

      jQuery 的 CDN 鏈接代碼放在</body>之前即可。

    提交 post 請求時,會報:禁止訪問?(403),CSRF驗證失敗,請求被中斷錯誤。

    這是 Django 為了防范網站 CSRF (Cross-site request forgery,跨站請求偽造) 攻擊的機制, 以確保黑客無法偽裝為已驗證過的瀏覽器而盜取數據。啟用這個功能(默認是啟用的)的設置在 setting.py 中的 'django.middleware.csrf.CsrfViewMiddleware'(在 MIDDLEWARE中的設置區塊中)。

    我們在加載的 html文件提交表單的 <form>標簽下加上標識符:

    {% csrf_token %}

    同時在 views.py 文件中定義的函數修改 render 方法,實例如下:

    • post請求:
    def posting(request):template = get_template('posting.html')moods = models.Mood.objects.all()message = '如果要張貼信息,那么每一個字段都要填...'html = template.render(context=locals(), request=request)return HttpResponse(html)
    • get 請求:
    def listing(request):template = get_template('listing.html')html = template.render(locals())return HttpResponse(html)

    驗證機制

    decorator@login_required 是 auth 驗證機制提供的一個非常方便的用法,用來告訴 Django 接下來的處理函數內容是需要登錄過后才能夠瀏覽的,如果還沒有登錄就想要執行這一操作,請先登錄括號中指定的 login_url 網址。

    轉載于:https://www.cnblogs.com/weixuqin/p/9392515.html

    總結

    以上是生活随笔為你收集整理的一些杂想的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。