GVKun编程网logo

将散景图嵌入Flask应用程序时遇到问题

3

此处将为大家介绍关于将散景图嵌入Flask应用程序时遇到问题的详细内容,此外,我们还将为您介绍关于android–GoogleMapv2在方向更改时崩溃应用程序时遇到问题、c–如何在GTK应用程序中嵌

此处将为大家介绍关于将散景图嵌入Flask应用程序时遇到问题的详细内容,此外,我们还将为您介绍关于android – GoogleMap v2在方向更改时崩溃应用程序时遇到问题、c – 如何在GTK应用程序中嵌入Flash播放器?、Flask-Bootstrap:为Flask应用程序添加模板、Flask-WTF:添加表单到Flask应用程序的有用信息。

本文目录一览:

将散景图嵌入Flask应用程序时遇到问题

将散景图嵌入Flask应用程序时遇到问题

我是Bokeh和Flask的新手。我浏览了相关的问题,教程,并查看了Bokeh文档,但无法弄清楚我在做什么错。

话虽这么说,我想创建一个简单的Web应用程序,在其中我可以将各种数据报告和图表“组合在一起”。

根据我的阅读,我想到了以下内容:

app.py:

... # imports

app = Flask(__name__,static_url_path='/static')

@app.route("/")
def index():
  return render_template("index.html")

@app.route("/bokeh_test")
def bokeh_test():

  script,div = components(sample_plot())

  return render_template("bokeh_test.html",script=script,div=div)


def sample_plot():
   """
   A random plot just for testing purposes.
   :return: plot
   """

   PLOT_OPTIONS = dict(plot_width=600,plot_height=400)
   SCATTER_OPTIONS = dict(size=12,alpha=0.5)

   data = lambda: [random.choice([i for i in range(100)]) for r in range(10)]

   plot = figure(sizing_mode='scale_both',tools='pan',**PLOT_OPTIONS)
   plot.scatter(data(),data(),color="red",**SCATTER_OPTIONS)

   # show(plot)

   return plot

bokeh_test.html:

<!DOCTYPE html>
<html lang="en">
 <head>
   <!-- Bokeh includes-->
  <script type="text/javascript" src="http://cdn.bokeh.org/bokeh/release/bokeh-0.12.13.min.js"></script>
  <link rel="stylesheet" href="http://cdn.bokeh.org/bokeh/release/bokeh-0.12.13.min.css" type="text/css" />
  {{ script|safe }}
 </head>
 <body>
   <div>
       <h1>Bokeh sample</h1>
           <div>
           {{ div|safe }}
           </div>
   </div>
  </body>
</html>

想象一下,在我的 index.html 文件中,有一个带有 bokeh_test.html
链接的侧边栏。当我单击它时,我看到的只是标题“散景样本”,但没有情节。

如果我取消对 show(plot)的
注释,则会打开一个新选项卡,并且可以正确显示该图,因此问题似乎不在于图本身,而在于我尝试将其嵌入bokeh_test中。

我不熟悉这一切,所以也许我正在做一些愚蠢的事情,但是我一直无法弄清楚,我将感谢您的帮助。

PS。不知道是否可能相关,但是为此,我从Anaconda 2创建了一个python 3.6环境,并将此环境用作项目解释器。

android – GoogleMap v2在方向更改时崩溃应用程序时遇到问题

android – GoogleMap v2在方向更改时崩溃应用程序时遇到问题

我一直在处理这个问题一段时间了.我用这个问题作为参考:
Using ActionBarSherlock With the New SupportMapFragment

我目前正在使用ActionBarSherlock,我正在使用Vipul Shah相当简单的地图实现.它的工作非常出色,完全符合我的需要.但是,在Orientation更改时,整个应用程序崩溃.这是我的日志:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meetball_1/com.meetball_1.HomeActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
    at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2211)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
    at android.app.ActivityThread.handlerelaunchActivity(ActivityThread.java:3740)
    at android.app.ActivityThread.access$700(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5103)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
    at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:133)
    at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:261)
    at com.meetball_1.HomeActivity.onCreate(HomeActivity.java:70)
    at android.app.Activity.performCreate(Activity.java:5133)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2175)
    ... 12 more
    Caused by: java.lang.IllegalStateException: Fragment com.google.android.gms.maps.SupportMapFragment did not create a view.
    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:303)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
    ... 24 more

我意识到,无论出于何种原因,视图都没有被创建,并且错误来自应用程序未能扩充我的类片段.我怎么解决这个问题而不会让事情变得太复杂,因为我觉得实现地图很简单所以应该是我的解决方案.这是我的xml片段:

<fragment android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="230dp"
    android:layout_weight="1"android:layout_gravity="center_horizontal|top" />

这是我的相关代码段:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

 SupportMapFragment fragment = SupportMapFragment.newInstance();
        getSupportFragmentManager().beginTransaction()
                .add(R.id.map, fragment).commit();
}

谢谢大家!

我此刻已经尝试了一切.这是Googlemap的错误吗?我如何解决它?

解决方法:

我有同样的问题并解决它,我不得不使用FrameLayout而不是片段:

<FrameLayout
        android:id="@+id/mapview"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

然后:

SupportMapFragment mMapFragment = (SupportMapFragment) getActivity()
            .getSupportFragmentManager().findFragmentById(R.id.mapview);

    if (mMapFragment == null) {
        mMapFragment = SupportMapFragment.newInstance();
        fm.beginTransaction().replace(R.id.mapview, mMapFragment).commit();
    }

c – 如何在GTK应用程序中嵌入Flash播放器?

c – 如何在GTK应用程序中嵌入Flash播放器?

有没有人试图将Adobes FlashPlayer嵌入到c-written Gtk-Application中?

可能吗?有什么好处可以开始吗?

P.S.:我不想将WebKit或Gecko renderengine嵌入到我的应用程序中!

最佳答案
GStreamer有一个flash插件. Gnash和klash也是免费的瑞士法郎玩家.您可以从这个应用程序开始.代码免费使用:)

问候

Flask-Bootstrap:为Flask应用程序添加模板

Flask-Bootstrap:为Flask应用程序添加模板

flask-bootstrap:为flask应用程序添加模板

Flask是一个轻量级的Python Web框架,它提供了一个简单而灵活的方式来构建Web应用程序。它是一款非常受欢迎的框架,但它的默认模板功能有限。要创建富有吸引力的用户界面,需使用其他框架或库。这就是Flask-Bootstrap的用武之地。

Flask-Bootstrap是一个基于Twitter Bootstrap的Flask扩展,它使得添加模板变得轻松而快捷。Bootstrap是一个由Twitter开发的流行的CSS框架。它提供了用于网站和Web应用程序的UI组件和样式,因此您可以使您的应用程序外观精美且容易使用。

Flask-Bootstrap通过将Bootstrap的CSS和JavaScript文件嵌入应用程序中,来为您的Flask应用程序提供所需的资源。同时,它提供了Flask集成,可用于将Bootstrap UI组件添加到应用程序中。

使用Flask-Bootstrap的第一步是安装它。要安装Flask-Bootstrap,请在命令行中运行以下命令:

pip install flask-bootstrap
登录后复制

安装完成后,您需要在您的Flask应用程序中初始化它。这可以通过在应用程序中直接创建一个Bootstrap对象来完成:

from flask import Flask
from flask_bootstrap import Bootstrap

app = Flask(__name__)
bootstrap = Bootstrap(app)

@app.route(''/'')
def index():
    return ''Hello World!''
登录后复制

在这个例子中,我们创建了一个Flask应用程序并在应用程序中初始化了Flask-Bootstrap。然后,我们在应用程序根路由(''/'')上定义了一个简单的视图函数。

现在,让我们向视图函数中添加一个Bootstrap组件。

首先,您需要在HTML模板中添加相关的Bootstrap代码。这通常与标准HTML内容相似,但包含Bootstrap类和其他属性。以下是一个简单的示例HTML模板:

{% extends "bootstrap/base.html" %}

{% block content %}
<div>
    <div>
        <div>
            <h1>Hello, World!</h1>
        </div>
    </div>
</div>
{% endblock %}
登录后复制

在这个模板中,我们使用了Bootstrap的网格系统来创建一个列布局。我们还使用了其他Bootstrap类来设置标题的样式。

接下来,您需要创建一个Flask视图函数,通过渲染HTML模板向用户发送响应。以下是一个简单的示例:

from flask import render_template

@app.route(''/'')
def index():
    return render_template(''index.html'')
登录后复制

在这个视图函数中,我们使用了Flask的render_template函数来呈现模板并将其发送回用户。

现在,当您访问这个视图函数时,您将看到一个漂亮的Bootstrap样式的“Hello, World!”标题。这很容易,不是吗?

在这篇文章中,我们看到了如何使用Flask-Bootstrap将Bootstrap集成到Flask应用程序中。它使得添加模板变得简单而快捷,从而可以让您的应用程序外观精美且容易使用。如果您正在开发一个Flask应用程序并希望添加漂亮的Bootstrap样式和组件,请尝试使用Flask-Bootstrap吧!

以上就是Flask-Bootstrap:为Flask应用程序添加模板的详细内容,更多请关注php中文网其它相关文章!

Flask-WTF:添加表单到Flask应用程序

Flask-WTF:添加表单到Flask应用程序

flask-wtf是一个python包,旨在简化使用表单的flask框架应用程序。它提供了一个简单而强大的界面,可以轻松地将表单添加到flask应用程序中。使用flask-wtf,您可以轻松地验证和处理表单数据,并为表单添加自定义验证器和字段。本文将介绍如何使用flask-wtf添加表单到flask应用程序中。

安装Flask-WTF

首先,需要安装Flask-WTF包。可以使用pip进行安装:

pip install Flask-WTF
登录后复制

创建Flask应用程序

在开始添加表单之前,需要创建一个Flask应用程序。以下是一个简单的Flask应用程序示例:

from flask import Flask

app = Flask(__name__)

@app.route(''/'')
def hello():
    return ''Hello, World!''
登录后复制

对于更复杂的应用程序,可能需要更多的配置和设置。

创建表单类

Flask-WTF使用表单类来描述表单字段。表单类是由Flask-WTF中提供的类FlaskForm派生而来的。在表单类中,可以定义表单字段、验证器和其他属性。以下是一些基本的表单字段类型:

  • StringField:用于输入字符串。
  • IntegerField:用于输入整数。
  • BooleanField:用于输入布尔值(复选框)。
  • TextAreaField:用于输入多行文本。
  • SelectField:用于选择下拉菜单中的选项。
  • RadioField:用于单选按钮。
  • FileField:用于上传文件。

以下是一个简单的表单类示例:

from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired

class NameForm(FlaskForm):
    name = StringField(''Name'', validators=[DataRequired()])
    submit = SubmitField(''Submit'')
登录后复制

在上面的示例中,表单类NameForm包含一个名称为name的字符串字段和一个名称为submit的提交按钮。字符串字段使用StringField类型和DataRequired验证器定义。DataRequired验证器确保字段值不为空。

在表单类中,还可以定义自定义验证器。例如,以下是一个自定义验证器,确保用户输入的值低于50个字符:

from wtforms import ValidationError

class LengthValidator(object):
    def __init__(self, max_chars):
        self.max_chars = max_chars

    def __call__(self, form, field):
        if len(field.data) > self.max_chars:
            raise ValidationError(''Value must be less than {} characters''.format(self.max_chars))

class NameForm(FlaskForm):
    name = StringField(''Name'', validators=[DataRequired(), LengthValidator(50)])
    submit = SubmitField(''Submit'')
登录后复制

在上面的示例中,定义了一个验证器LengthValidator。该验证器使用一个最大长度参数初始化,并检查输入字段的长度是否超过了最大长度。在字符串字段定义中,将LengthValidator验证器添加到验证器列表中,以确保其属性值低于50个字符。

在表单类中,还可以定义其他属性,例如渲染字段时使用的CSS类。这些属性可以用来自定义表单字段的外观和感觉。

使用表单

要在Flask应用程序中使用表单,需要在视图函数中创建表单实例。可以从表单类中创建表单实例,并将其传递给模板。以下是视图函数的示例:

from flask import render_template
from app import app
from forms import NameForm

@app.route(''/'', methods=[''GET'', ''POST''])
def index():
    form = NameForm()
    if form.validate_on_submit():
        name = form.name.data
        return render_template(''index.html'', name=name)
    return render_template(''index.html'', form=form)
登录后复制

在上面的示例中,视图函数index创建了表单实例form。如果表单已提交,并且验证成功,则从提交表单中获取名称并将其传递给模板。如果表单尚未提交或验证失败,则显示表单。

在模板中,可以使用Flask-WTF提供的表单渲染函数来呈现表单。以下是一个简单的模板示例,使用Jinja2模板引擎和Bootstrap样式:

<!doctype html>
<html>
  <head>
    <title>Flask-WTF Example</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css">
  </head>
  <body>
    <div>
      <h1>Hello {{ name }}!</h1>
      <form method="post">
        {{ form.csrf_token }}
        {{ form.name.label }}
        {{ form.name }}
        {% for error in form.name.errors %}
          <span>{{ error }}</span>
        {% endfor %}
        {{ form.submit }}
      </form>
    </div>
  </body>
</html>
登录后复制

在模板中,使用form对象渲染表单字段和提交按钮。csrf_token字段是一个隐藏字段,用于防止跨站点请求伪造攻击。

总结

使用Flask-WTF,可以轻松地添加表单到Flask应用程序中。使用表单类,可以创建自定义表单字段和验证器。在视图函数中,可以创建表单实例,并使用模板引擎渲染表单。Flask-WTF还提供了其他功能,例如文件上传、表单嵌套和表单预处理。了解Flask-WTF的功能,可以使Flask应用程序的表单处理更加简单和高效。

以上就是Flask-WTF:添加表单到Flask应用程序的详细内容,更多请关注php中文网其它相关文章!

今天的关于将散景图嵌入Flask应用程序时遇到问题的分享已经结束,谢谢您的关注,如果想了解更多关于android – GoogleMap v2在方向更改时崩溃应用程序时遇到问题、c – 如何在GTK应用程序中嵌入Flash播放器?、Flask-Bootstrap:为Flask应用程序添加模板、Flask-WTF:添加表单到Flask应用程序的相关知识,请在本站进行查询。

本文标签: