instalar - poner imagen en django
¿Cómo pasar parámetros a una aplicación brillante a través de URL? (2)
Partiendo de Daattali, esto toma cualquier cantidad de entradas y hace la asignación de valores para usted para diferentes tipos de entradas:
ui.R:
library(shiny)
shinyUI(fluidPage(
textInput("symbol", "Symbol Entry", ""),
dateInput("date_start", h4("Start Date"), value = "2005-01-01" ,startview = "year"),
selectInput("period_select", label = h4("Frequency of Updates"),
c("Monthly" = 1,
"Quarterly" = 2,
"Weekly" = 3,
"Daily" = 4)),
sliderInput("smaLen", label = "SMA Len",min = 1, max = 200, value = 115),br(),
checkboxInput("usema", "Use MA", FALSE)
))
servidor.R:
shinyServer(function(input, output,session) {
observe({
query <- parseQueryString(session$clientData$url_search)
for (i in 1:(length(reactiveValuesToList(input)))) {
nameval = names(reactiveValuesToList(input)[i])
valuetoupdate = query[[nameval]]
if (!is.null(query[[nameval]])) {
if (is.na(as.numeric(valuetoupdate))) {
updateTextInput(session, nameval, value = valuetoupdate)
}
else {
updateTextInput(session, nameval, value = as.numeric(valuetoupdate))
}
}
}
})
})
Ejemplo de URL para probar: 127.0.0.1:5767/?symbol=BBB,AA,CCC,DD&date_start=2005-01-02&period_select=2&smaLen=153&usema=1
En los navegadores web pasas parámetros a un sitio web como
www.mysite.com/?parameter=1
Tengo una aplicación brillante y me gustaría usar el parámetro pasado al sitio en los cálculos como una entrada. Entonces, ¿es posible hacer algo como www.mysite.com/?parameter=1 y luego usar el parámetro input!
¿Puede proporcionar algún código de muestra o enlaces?
Gracias
Tendría que actualizar la entrada usted mismo cuando la aplicación se inicialice en función de la URL. session$clientData$url_search
variable session$clientData$url_search
para obtener los parámetros de consulta. Aquí hay un ejemplo, puede expandir esto fácilmente a sus necesidades
library(shiny)
shinyApp(
ui = fluidPage(
textInput("text", "Text", "")
),
server = function(input, output, session) {
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[[''text'']])) {
updateTextInput(session, "text", value = query[[''text'']])
}
})
}
)