国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 css教學 使用 Django 和 Vue.js 在 IRIS 上建立 Web 應用程式:深入了解 Django 框架

使用 Django 和 Vue.js 在 IRIS 上建立 Web 應用程式:深入了解 Django 框架

Nov 28, 2024 am 10:52 AM

Using Django and Vue.js to create a web application on IRIS: Peeking into the Django framework

長期以來我一直想學習 Django 框架,但另一個更緊迫的專案始終佔據(jù)優(yōu)先地位。和許多開發(fā)人員一樣,我在機器學習方面使用python,但當我第一次學習Web 程式設計時,PHP 仍然佔據(jù)主導地位,所以當我需要選擇一個新的複雜框架來創(chuàng)建Web 應用程式來發(fā)布我的機器時學習工作中,我還是轉(zhuǎn)向了PHP。一段時間以來,我一直在使用名為 Laravel 的框架來建立我的網(wǎng)站,這個 PHP 框架向我介紹了現(xiàn)代 Web 程式設計的模型-視圖-控制器模式。讓事情變得更加複雜的是,我喜歡使用現(xiàn)代 JavaScript 框架來建立我的前端。我最熟悉 Vue.js,因此對於這個項目,我堅持使用 Vue.js,儘管更常見的是人們使用 React。

為什麼要使用複雜的框架?學習 Django、Laravel、React 或 Vue 等框架的最大挑戰(zhàn)是什麼?

每個人都有自己的答案,但我越來越喜歡 MVC 框架,因為它們提供了很多關(guān)於如何建立應用程式的指導。它使我不必每次都重新發(fā)明輪子。起初,這些框架看起來有些限制和神秘,但一旦我熟悉了結(jié)構(gòu),我發(fā)現(xiàn)添加新功能會更容易。

挑戰(zhàn)在於事情可能變得過於簡單。像 Django 這樣的框架依賴許多速記或假設,這些速記或假設可能基於熟悉的概念,但在 Django 中具有特定的不熟悉的名稱和結(jié)構(gòu)。在我的應用程式中,Django 處理 API 和所有 Web 路由。如果我想要新增新的API 端點,我需要將一個函數(shù)新增到view.py 中的檔案中,然後前往urls.py 檔案並新增一條語句來匯入該函數(shù),並新增另一個語句來定義該函數(shù)所在的URL。 API端點可用。之後,我需要編輯前端 Vue 元件以使用 JavaScript 查詢該端點以取得資料並向使用者顯示或操作它。?

一旦我的專案建立起來,增加這樣的功能很快。我只需要添加大約四行程式碼,然後我就可以專注於views.py 檔案中新函數(shù)所需的邏輯,以處理 HTTP 請求並以 JSON 格式返回所需的資料。具有挑戰(zhàn)性的部分是了解這些檔案是什麼以及它們?nèi)绾螀f(xié)同工作來創(chuàng)建整個應用程式。

我發(fā)現(xiàn)學習像 Django 這樣的框架的最佳方法是找到一個工作範例並開始嘗試進行一些小的更改以了解資料流。當概念開始變得更加清晰且更有意義時,請參閱文件。要求人工智慧模型解釋程式碼片段以及框架中不同標準檔案的作用。很快我們就會意識到這些工具的出現(xiàn)是為了從長遠來看節(jié)省時間並簡化應用程式的維護和更新。由於 Django 和 Vue 框架具有標準結(jié)構(gòu),因此當您稍後再回顧它們時,您會發(fā)現(xiàn)更容易理解為什麼以某種方式編碼,並且更容易重新熟悉您的工作。由於您熟悉他們的應用程式的基本結(jié)構(gòu),因此更容易學習別人的應用程式並理解核心功能。?

那麼 Django 的一些基本知識可以幫助人們?nèi)腴T嗎?對我來說,首先要了解的是,Django 專案是透過執(zhí)行命令來建立新的Django 專案而產(chǎn)生的,這會產(chǎn)生一組基本檔案和資料夾,這些檔案和資料夾構(gòu)成了可用於開始建置的「基礎項目」。專案資料夾將包含幾個 python 文件,其中的設定適用於整個專案。您會發(fā)現(xiàn)自己經(jīng)常存取的重要文件是 settings.py(所有設定都在其中)和 urls.py。當您有「Django 如何決定將靜態(tài)檔案放在哪裡」之類的問題時,答案通常位於 settings.py 中的某個位置。當您想要為應用程式新增 URL 時,您需要更新 urls.py 檔案。?

除了這些專案級檔案之外,您還可以為專案中的每個應用程式建立一個資料夾。然後需要在 settings.py 檔案中註冊(即命名)這些應用程式。我的專案中的主應用程式資料夾稱為文件。在該資料夾中,我有一個 models.py 檔案、一個 serializer.py 檔案、一個views.py 檔案。還有其他的,但這是重要的三個。

在 models.py 中,我指定了我的 Document 物件及其所具有的欄位。 Django 幫我在 IRIS 資料庫中建立一個 Documents 表,其中包含保存我計劃儲存在 Document 物件中的資訊所需的架構(gòu)。在我的models.py 檔案中,我告訴它我的文件都有一個名稱(不超過255 個字元的字串)、一個內(nèi)容欄位(只是大量文字)以及一個資料庫名稱(其中向量)儲存(另一個文字欄位)、嵌入類型(另一個文字欄位),最後是向量嵌入維度(一個數(shù)字)。使用這些定義,Django 建立具有必要列類型的必要資料庫表。將物件儲存到資料庫就像 Document.save() 一樣簡單。

serializer.py 檔案內(nèi)部只是一個關(guān)於如何將物件轉(zhuǎn)換為 JSON 的定義,反之亦然。對於基本用例,有一個標準方法來定義它,您可以在這個專案中看到它。

現(xiàn)在我們進入 Django 的重點,views.py 檔案。我們在這裡定義接受 HTTP 請求並傳回資料(例如整個 HTTP 回應)或 JSON API(如果是 JSON API)的函數(shù)。這意味著 Django 可以提供整個網(wǎng)頁,也可以作為您應用程式的前端,或者它可以只提供 JSON 數(shù)據(jù),您可以在完全不同的平臺上建立您的前端。

一開始使用所有這些看似任意的檔案和約定可能會讓人感覺很麻煩,但是一旦您發(fā)現(xiàn)這樣做意味著您的應用程式剛開始工作並處理HTTP 請求並提供正確的資料作為回應,它就可以不斷建構(gòu)新的特性和功能是非常有趣的。一旦您定義了一個物件、Web 路由和函數(shù)來處理 HTTP 請求,您就會意識到定義第二個和第三個物件來為應用程式新增功能是多麼容易。

我從 github 上的 @guillaume.Rongier7183 創(chuàng)建的 Iris Django 模板中分叉了我的專案:https://github.com/grongierisc/iris-django-template

此範本僅包含 Django,對於學習 Django 框架非常有幫助。?我所做的主要新增功能之一是添加帶有 Tailwind CSS 的 Vue.js,以表明您可以將現(xiàn)代 Javascript 框架與此套件集成,並在 IRIS 上運行單頁應用程式。單頁面應用程式是一個 JavaScript 應用程序,它發(fā)送 xhr 請求以獲取 JSON 資料並動態(tài)更新頁面,而無需完全重新載入頁面。它有其優(yōu)點和缺點,但它是現(xiàn)代 Web 開發(fā)的標誌。

我鼓勵人們不僅將我的專案視為IRIS 上的RAG 和Vector Stores 的範例,而且將其視為使用Django 與Vue.js 和Tailwind 的模板,以便在其之上輕鬆快速地創(chuàng)建現(xiàn)代靈活的Web 應用程式虹膜。該儲存庫位於 Github 上:https://github.com/mindfulcoder49/iris-django-template

我很樂意回答任何問題或提供任何見解,以了解任何人在嘗試調(diào)整此項目以供自己使用時可能遇到的任何問題。

以上是使用 Django 和 Vue.js 在 IRIS 上建立 Web 應用程式:深入了解 Django 框架的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

什麼是'渲染障礙CSS”? 什麼是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會阻塞頁面渲染是因為瀏覽器默認將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。 1.提取關(guān)鍵CSS並內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合併CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什麼? 外部與內(nèi)部CSS:最好的方法是什麼? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。 1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什麼是AutoPrefixer,它如何工作? 什麼是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個根據(jù)目標瀏覽器範圍自動為CSS屬性添加廠商前綴的工具。 1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設置browserslist、在構(gòu)建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預處理器使用。

什麼是CSS計數(shù)器? 什麼是CSS計數(shù)器? Jun 19, 2025 am 12:34 AM

csscounterscanautomationallymentermentermentections和lists.1)usecounter-ensettoInitializize,反插入式發(fā)芽,andcounter()orcounters()

CSS:何時重要(何時不)? CSS:何時重要(何時不)? Jun 19, 2025 am 12:27 AM

在CSS中,選擇器和屬性名不區(qū)分大小寫,而值、命名顏色、URL和自定義屬性則區(qū)分大小寫。 1.選擇器和屬性名不區(qū)分大小寫,例如background-color和Background-Color相同。 2.值中的十六進制顏色不區(qū)分大小寫,但命名顏色區(qū)分大小寫,如red有效而Red無效。 3.URL區(qū)分大小寫,可能導致文件加載問題。 4.自定義屬性(變量)區(qū)分大小寫,使用時需注意大小寫一致。

CSS中的情況敏感性:選擇器,屬性和值所解釋的 CSS中的情況敏感性:選擇器,屬性和值所解釋的 Jun 19, 2025 am 12:38 AM

cssselectorsand and propertynamesarecase-insimentimentiment.1)selectorSlike like'div'div'div'div'and'and'and'And'Andiv'areequivalent.2)propertioessuchas'backusuchas'backusuchas'backusuchas'backusuchas'backer'back-and'background and backorgook crolor'backorground-artreateateDthesementhesame.3)

See all articles