Django web開發筆記

一、Django開發環境搭建:

1.安裝python:django可運行于版本python 2.7、3.x

2.安裝相應的IDE

3.安裝pip:sudo apt-get install python-pip(linux為例)

4.安裝django:1)pip安裝:sudo pip install Django(linux為例)

? ? ? ? ? ? ? ? ? ? ? ? ?2)源碼安裝:網上找教程

5.建立django項目:django-admin startproject projectname(這里可以選擇自己要建立項目的文件夾)

二、Django創建工程及應用

1.工程目錄詳解

? ? ?manage.py:管理項目---包括數據庫建立、服務器運行、測試。。。

? ? ?mysite目錄:

? ? ? ? ? ? ? ?settings.py:配置文件:應用。中間件、數據庫、靜態目錄等。。

? ? ? ? ? ? ? ?urls.py:URL映射配置文件:決定一個url訪問被哪個程序(函數)調用。。

? ? ? ? ? ? ? ?wsgi.py:python應用程序或框架和web服務器之間的接口

2.創建應用(django中使用應用來分割功能)

? ? ?2.1創建應用blog:$python manage.py startapp blog

? ? ?2.2添加blog應用:mysite/setting.py->INSTALLED_APPS添加相應的應用名即可(我這里是bikeFauleDia)

? ? ? ? ? ? ? ? ? ? ?

3.應用目錄詳解:

? ? ?views.py:相應邏輯函數用來跳轉頁面或功能處理,即相應客戶http請求,進行邏輯處理,返回給用戶html頁面

? ? ?models.py:映射數據庫中的表

? ? ?admin.oy:admin相關操作

? ? ?test.py:測試相關

? ? ?templates:用來成才html頁面。返回給用戶html,是由數據(模型)和模版渲染出來的

4、http請求響應過程

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

5、數據庫連接:

? ?1、在settings.py文件中設置默認連接數據庫的方式(注意settings.py頭部加編碼)

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',   #數據庫類型'NAME': 'bikeData',                     #數據庫名字'USER': 'root',                         #用戶名'PASSWORD': 'helloworld',               #密碼'HOST': '127.0.0.1',                    #服務器地址'PORT': '3306',                         #端口}
}

? ? 2、在組件(App)目錄下面都有一個models.py來寫本組件(App)的數據模型(以創建應用用戶名和密碼為例)

from django.db import models
# Create your models here.class User(models.Model):username = models.CharField(max_length=50)password = models.CharField(max_length=50)

? ?3、創建映射文件:python manage.py makemigrations 組件名稱

? ?4、將映射文件中的映射到數據庫中:python manage.py migrate 組件名稱

補充:

一、編寫Models

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

二、設置html中css/js等外鏈樣式的時候:

? ? ?首先在head中加載? ? ? {% load staticfiles %}

? ? ?將css/js文件存放如static文件包內

? ? ?然后將所要鏈接的對象改寫成django格式:? ?<link rel="stylesheet" href="{% static 'css/base.css' %}">

Django中頁面超鏈接跳轉:

? ? ? ? ? ? ? ? ? ? ??

最后一個param是參數,有就傳,沒有就不穿。

三、django實現簡單的登錄驗證

views.py中:

from django.shortcuts import render
# from django.http import HttpResponse# from django import forms
from bikeFauleDia.models import User
# from django.http.response import HttpResponseRedirect, JsonResponse
from functools import wraps# Create your views here.#check_login用來判斷是否登錄過,并一解釋器的方式過濾頁面
def check_login(f):@wraps(f)def inner(request,*arg,**kwargs):if request.session.get('is_logion')=='1':return f(request,*arg,**kwargs)else:return render(request,'BikeFaultDiagnosis/login.html')return innerdef login(request):print(request.method)
#     labers=Falseif request.method=='POST':username=request.POST.get('username')  #獲取頁面用戶名信息password=request.POST.get('password')user=User.objects.filter(username=username,password=password)  #和數據庫中用戶信息對比print(user)if user:labers=Falserequest.session['is_logion']='1'  #設置session信息用來驗證登錄情況request.session['user_id']=user[0].idreturn render(request,'BikeFaultDiagnosis/index.html',{'labers':labers})else:labers=Truereturn render(request,'BikeFaultDiagnosis/login.html',{'labers':labers})return render(request,'BikeFaultDiagnosis/login.html')#=================================#========================================@check_login   #裝飾器,用來驗證是否登錄
def index(request):return render(request,'BikeFaultDiagnosis/index.html')

urls.py中:

from django.urls import pathfrom . import views
app_name='bikeFauleDia'urlpatterns = [path('index/', views.index,name='index'),path('carContrl/', views.carContrl,name='carContrl'),path('mapp/', views.mapp,name='mapp'),path('static/', views.static,name='static'),path('table1/', views.table1,name='table1'),path('message/', views.message,name='message'),path('login/', views.login,name='login'),
]

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540114.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540114.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android 前置攝像頭預覽時 鏡像翻轉_全面屏時代,原來手機前置攝像頭都隱藏著一些缺點,你發現了嗎?...

隨著真全面屏時代的到來&#xff0c;人們已經不再滿足于劉海屏、水滴屏以及挖孔屏等&#xff0c;越來越多的手機廠商和消費者開始追求"100%全面屏"。于是如何解決手機前置攝像頭便成了最大的難題&#xff0c;畢竟只要在屏幕上放置攝像頭必然會影響屏占比&#xff0c;…

Java 調用 Python 方法學習筆記

文章轉載自&#xff1a; 作者&#xff1a;IT_xiao_bai 來源&#xff1a;CSDN 原文&#xff1a;https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一陣自剛好用python做了一個sae的算法模型&#xff0c;結果公…

catia怎么將特征參數化_VSLAM中特征點的參數化表示

VSLAM中特征點的參數化表示有很多&#xff0c;最直接的是用三維坐標XYZ來表示&#xff0c;但通常大家更喜歡用逆深度表示&#xff0c;因為逆深度優勢在于能夠建模無窮遠點。Open VINS文檔中給出了五種特征參數化表示&#xff1a;Global XYZ&#xff0c;Global Inverse Depth&am…

【廣州】Web前端工程師

互聯網公司找人咯~ 我們公司&#xff1a;道樂科技&#xff08;Dollar Tech&#xff09;成立于2013年11月&#xff0c;是一家致力于為資產管理和財富管理行業提供技術、產品和運營服務的科技金融企業。三年來&#xff0c;道樂人始終堅持“以客戶為中心&#xff0c;為客戶提供高品…

Java 調用 Python 方法學習筆記---之---java調用python深度學習模型運算并返回運算結果給前端(2)

上一章寫到Java 調用 Python 方法學習的三種方法&#xff0c;這里強調第三種方法。第三種方法本質上和第二種方法是一樣的&#xff0c;都是應用到 Runtime.getRuntime().exec() 去執行文件。要深度理解這種方法&#xff0c;首先要先理解一下Runtime.getRuntime().exec() 。 R…

tbslog亂碼轉換_日文游戲亂碼怎么辦 亂碼轉換工具LocaleEmulator

by Nicho Feb.23,2017許多日文游戲有諸多地區限制&#xff0c;在 win7、win8、win10 上玩時候會經常遇到日文游戲亂碼的情況&#xff0c;這時候就得用到亂碼轉換工具了&#xff0c;下面我們就來詳細說明下使用方法。常用的有 microsoft locale、applocale、NTLEA 等&…

haarcascades---各種分類器xml文件下載地址

安裝好opencv想找個人臉識別的小實驗做做&#xff0c;后來發現沒有配置文件&#xff0c;于是乎就找到了這個&#xff0c;所以就轉載過來了。 下載地址&#xff1a;https://github.com/opencv/opencv/tree/master/data/haarcascades 轉載地址&#xff1a;https://blog.csdn.ne…

vue 組件屬性監聽_vuejs組件內的對象屬性監聽問題

跟數據類型是有關的。當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項&#xff0c;Vue 將遍歷此對象所有的屬性&#xff0c;并使用 Object.defineProperty 把這些屬性全部轉為 getter/setter。但是不是所有的變動都可以通過set/get捕捉到&#xff0c;比如一個數組l…

Part 2: Containers

要求 安裝了1.13或者更高版本的Docker閱讀了Part1中的定位&#xff08;我沒寫&#xff09;介紹 是時候用Docker構建一個app了。我們會從構建這樣一個app的最底層開始&#xff0c;容器——我們這節所介紹的內容。在這層之上是服務&#xff0c;服務定義了容器們的在生產中的行為&…

(論文)WS-DAN (弱監督數據增強)

背景 近期在做外賣分類的項目&#xff0c;外賣分類屬于細粒度圖像分類&#xff0c;在分類的過程中要從圖片的行人中和非機動車中區分出各類外賣&#xff08;主要是美團、餓了嗎&#xff09;。剛好近期發現了一片關于細粒度圖像分類較新的論文&#xff08;See Better Before Lo…

羅馬音平假名片假名轉換器_關于五十音你所要知道的一切!文末附日網高清字帖...

今天開始&#xff0c;木子小花日本語教室將開始同時更新日語文法系列文章 和 日語真題詳解系列文章&#xff0c;從五十音圖的記憶方法到日語助詞的用法整理&#xff0c;從N5的簡單句子構成到N1復雜文法的接續記憶方法&#xff0c;力求做出全知乎&#xff08;小聲&#xff1a;全…

django的web開發筆記1(智能診斷系統數據概覽記錄)

接于上一篇&#xff0c;這一篇主要記錄如何鏈接mysql數據庫以及從數據庫中調用數據信息到頁面&#xff0c;同時包含百度地圖api的一些使用。 其中包括模塊&#xff0c;echert圖表繪制數據調用&#xff0c;百度地圖數據信息調用以及一些單機效果&#xff0c;頁面數據調用等。 1…

Spring中應用反射機制淺析

我們知道,Spring中大量使用了反射機制&#xff0c;那么究竟是什么地方使用了呢&#xff1f;就從源頭說起吧。 一 反射源頭Class類 對類的概念我們已經非常熟悉了。比如可以有Student這個類&#xff0c;Person這個類。但是我們要知道&#xff0c;有一個叫Class的類&#xff0c;…

ios nslog 例子_iOS開發-使用宏自定義輸出(NSLog)

前言&#xff1a;1)輸出日志是會大量損耗系統性能2)輸出的信息很容易會被截取到&#xff0c;導致信息不安全。所以我們會在發行版(Release)取消所有的Log。如果一行一行地去注釋掉Log&#xff0c;顯然不是一個明確的選擇。因此我們可以使用宏去自定義Log輸出。最簡單的一個例子…

python小技巧積累--題庫(持續更新)

介紹 作為一名程序員&#xff0c;除了需要具備解決問題的思路以外&#xff0c;代碼的質量和簡潔性也很關鍵。 python內置庫中就有很多簡潔而又優雅的操作&#xff0c;這里的知識都來源于網絡積累&#xff0c; 閑暇時整理下來方便溫故。目錄 >選擇正確的內置功能 使用enum…

提高SQL執行性能方案:如何讓你的SQL運行得更快

---- 人們在使用SQL時往往會陷入一個誤區&#xff0c;即太關注于所得的結果是否正確&#xff0c;而忽略了不同的實現方法之間可能存在的性能差異&#xff0c;這種性能差異在大型的或是復雜的數據庫環境中&#xff08;如聯機事務處理OLTP或決策支持系統DSS&#xff09;中表現得尤…

休眠后gpio狀態_STM32中GPIO的8種工作模式總結

STM32中GPIO的8種工作模式總結一、推挽輸出&#xff1a;可以輸出高、低電平&#xff0c;連接數字器件;推挽結構一般是指兩個三極管分別受兩個互補信號的控制&#xff0c;總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。形象點解釋&#xff1a;推挽&#xff0c…

Ubuntu16.04 下 tensorRT安裝

環境準備 主要是根據工程環境需要&#xff0c;參考trt文檔安裝trt 1.查看trt適配情況 &#xff1a;鏈接跳轉&#xff0c;注意&#xff0c;不同版本的trt有不同版本的文檔&#xff0c;請以最新文檔為準。 2.根據自己系統情況下載相關包 因為我自己拉的docker鏡像是ubuntu16.04…

左右xcode的重構選項的一些理解

Rename(重命名):對標示符進行重命名,以獲得更好的代碼可讀性,這些標示符包含類,方法或者函數的名稱. Extract(抽取):將你在XCode種選擇的代碼抽取到一個新的方法或函數中. Create SuperClass(創建父類):為Xcode中當前所選的類定義父類 Move Up(上移):將所選擇的方法,屬性,或實例…

window 如何查看tomcat 實時日志_如何處理生產環境Tomcat的catalina.out日志?

前語&#xff1a;不要為了讀文章而讀文章&#xff0c;一定要帶著問題來讀文章&#xff0c;勤思考。作者&#xff1a;jmcui 來源&#xff1a;http://1t.click/x4q# 前言隨著每天業務的增長&#xff0c;Tomcat 的catalina.out日志 變得越來越大&#xff0c;占用磁盤空間不說。要…