初識luci的cbi模組

2021-06-26 20:54:23 字數 1563 閱讀 9563

流程為以下:

1、對映uci檔案

2、生成section

3、生成option

原config檔案如下:

config login

option username ''

option password ''

option ifname 'eth0'

option domain ''

直接上**:

require("luci.sys")

map("配置檔案檔名", "配置頁面標題", "配置頁面說明"),對應到配置檔案/etc/config/testclient

]]--

m = map("testclient", "the title of testclient", "the shuoming of testclient")

獲取所有型別為

login

的section

並生成html section

class

可以是typedsection

表示根據型別獲取

section

namedsection

表示根據名字獲取

section

]]--

s = m:section(typedsection, "login", "")

s.addremove = false

s.anonymous = true

--[[

生成option

class

可以是:

value

:input控制項

listvalue

:下拉列表

flag

:選擇框

multivalue:

dummyvalue

:純文字

textvalue

:多行input

button

:按鈕staticlist

:dynamiclist:

下**為每個

section

生成可選項控制項,對映到

proto

欄位p= s:option(listvalue, 「proto」, 「protocol」)

p:value(「static」, 「static」)

p:value(「dhcp」, 「dhcp」)

p.default = 「static」

]]--

enable = s:option(flag, "enable", translate("enable"))

name = s:option(value, "username", translate("username"))

pass = s:option(value, "password", translate("password"))

pass.password = true

domain = s:option(value, "domain", translate("domain"))

控制項對應的

html

檔案在luasrc\view\cbi

目錄下

luci自定義之初識

第一次接觸op的時候,第一感覺就是配置很繁瑣,而且不怎麼耐看。所以一直尋思著把luci修改得更加的簡單。本來以為,要修改luci無非是改改樣式而已,真正接觸了luci才知道,並不是想象之中那麼簡單,所以這也讓我頭疼了好幾天。沒辦法,急著要趕工,完全修改樣式這麼龐大的改動是很難在短時間內完成的,所以只...

OpenWrt路由器上LuCI的模組結構

luci是openwrt上的web管理介面,luci採用了mvc三層架構,同時其使用lua指令碼開發,所以開發luci的配置介面不需要編輯任何的html 除非想自己單獨去建立網頁 view層 本文概述性的描述一下luci,想要開發luci的參考 開發openwrt路由器上luci的模組 openwr...

初識gevent模組

協程的本質是乙個執行緒執行多個任務,檢測到i o操作就切換任務執行,以實現更高效的利用cpu gevent可以實現任務間的切換 from gevent import monkey monkey.patch all import gevent import time gevent預設只識別自身模組中的...