流程為以下:
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預設只識別自身模組中的...