通过使用abort()
或当错误真正发生时,Flask有一个很好的错误处理程序.
从Flask文档中有一个错误404处理程序的示例:
@app.errorhandler(404)
def not_found(error):
return render_template('404.html'), 404
Run Code Online (Sandbox Code Playgroud)
所以,我尝试创建自定义错误代码
if False:
abort(777)
@app.errorhandler(777)
def something_is_wrong(error):
return render_template('777.html'), 777
Run Code Online (Sandbox Code Playgroud)
但它不起作用,Werkzeug调试器说:LookupError:777也不例外
我发现这个问题说我应该这样做:
if False:
return '777 error', 777
Run Code Online (Sandbox Code Playgroud)
不幸的是,上面的代码产生了白屏,甚至Werkzeug调试器都没有出来
我知道我可以做到:
if False:
return render_template('777.html')
Run Code Online (Sandbox Code Playgroud)
但如果我使用它,它将使代码更清晰abort()
.有没有办法创建自定义错误代码?
嗨,我正在制作自定义拨号器,所以我创建了自己的输入板.
问题是如何禁用EditText 但仍然允许剪切/复制/粘贴?股票拨号器可以做到这一点.
我试过android:focusable="false"
但它禁用剪切/复制(仍然可以粘贴).
我还试图以inputType
编程方式禁用所有三个命令:
myEditText.setInputType(InputType.TYPE_NULL); //Can't cut/copy/paste
Run Code Online (Sandbox Code Playgroud)
从清单中禁用它也不起作用:
android:configChanges="orientation|keyboardHidden" //Keyboard still popped up
Run Code Online (Sandbox Code Playgroud)
有解决方案吗 谢谢
我有这个Check All
功能,检查所有复选框.我使用JQuery来做到这一点.
但我也有这个on change
函数将类切换到包装器div:
$('input[type="checkbox"]').on('change', function(){
$(this).closest('div').toggleClass('highlight');
});
Run Code Online (Sandbox Code Playgroud)
单击复选框时会运行该功能,但如果单击则不会运行Check all
.
有没有办法使用JQuery手动触发事件?或者有更好的解决方案吗?
谢谢
编辑:
这是简化的HTML:
<a id="check_all">Check All</a>
<div>
<input type="checkbox" name="cb" value="abc">ABC<br>
</div>
<div>
<input type="checkbox" name="cb" value="pqr">PQR<br>
</div>
<div>
<input type="checkbox" name="cb" value="xyz">XYZ<br>
</div>
Run Code Online (Sandbox Code Playgroud)
这是JSFiddle
我是一名n00b程序员,需要很多帮助.
出于教学目的,我想制作简单的动植物(植物和动物)百科全书
我想让我的主屏幕像Android的主屏幕一样可拖动.向右滑动以打开Plant页面并向左滑动以打开Animal页面.我不知道如何制作过渡效果.所以我们可以将它拖到中途看看下一页的内容,然后再拖回去取消它
你们可以分享一个链接来制作可拖动的屏幕吗?
谢谢你
[编辑]
@Agarwal我尝试了你的Link2中的代码而它没有用
我尝试通过将Toast放入内部类但未显示Toast来测试是否检测到手势.但Link1基本相同.
从代码的外观来看,我认为它不能让我的屏幕像Android的主屏幕一样可拖动
我的代码:
public class Home extends Activity implements OnClickListener {
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
ImageButton flora, fauna;
Intent go;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialize();
gestureDetector = new GestureDetector(new SwipeGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
}
private void initialize() {
//find view by id to image button
//set onClickListener to image button
} …
Run Code Online (Sandbox Code Playgroud) 我对Jinja和Flask很新
我想在导航栏中设置不同的背景颜色以指示当前页面.
是否有任何内置的Jinja变量或方法返回当前的HTML页面?如果可能,我希望代码不需要与Python文件通信.
所以,如果我现在在index.html
,它将返回"index"或"index.html"
这是我模板中的导航代码:
<ul>
{% for item in navigation %}
<a href="{{url_for(item.route)}}">
<li>
{{item.text}}
</li>
</a>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
我想添加if
语句,以便在当前页面会得到<li>
有class
{% if ??? %}
<li class="current">
...
</li>
{% else %}
...
{% endif %}
Run Code Online (Sandbox Code Playgroud)
谢谢
我想构建一个需要解压缩文件的Yeoman生成器.
从他们的文档来看,似乎这个过程是使用完成的this.registerTransformStream(...)
.它说它接受任何gulp插件,所以我试过gulp-unzip
(链接)
这是我的代码:
// index.js
...
writing: function() {
var source = this.templatePath('zip'); // the folder where the zipped file is
var destination = this.destinationRoot();
this.fs.copy(source, destination);
this.registerTransformStream(unzip() );
}
...
Run Code Online (Sandbox Code Playgroud)
结果似乎很有希望,首先它显示所有文件列表然后我得到Error: write after end
错误.
这是转储:
create license.txt
create readme.html
create config.php
...
...
events.js:141
throw er; // Unhandled 'error' event
^
Error: write after end
at writeAfterEnd (C:\Users\myname\Documents\project\generator-test\node_modules\gulp-unzip\node_modules\readable-stream\lib\_stream_writable.js:144:12)
at Transform.Writable.write (C:\Users\myname\Documents\project\generator-test\node_modules\gulp-unzip\node_modules\readable-stream\lib\_stream_writable.js:192:5)
at DestroyableTransform.ondata (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:531:20)
at emitOne (events.js:77:13)
at DestroyableTransform.emit …
Run Code Online (Sandbox Code Playgroud) 我提取某人的APK(Android应用程序)来查看Java源代码并看到了很多return;
代码,甚至是void
方法.
例如:
public void doSomething(){
do{
return; //This line makes the code below unreachable and can't compile in Eclipse
switch(num){
...
default:
return;
}
}while(...)
...
}
Run Code Online (Sandbox Code Playgroud)
为什么应用程序似乎在我的手机上运行良好?
我想这就return;
像是打破方法的捷径.是对的吗?
我正在尝试建立自己的宝石,但得到了这个错误.我认为,这种情况的原因是因为我更改文件名的gemspec
.起初这是我的结构:
myapp/
my-app.gemspec
documentation.docx
// other files
Run Code Online (Sandbox Code Playgroud)
然后我更改名称并移动文件,如下所示:
myapp/
new-name.gemspec
doc/
documentation.docx
// other files
Run Code Online (Sandbox Code Playgroud)
注意:我已经更改了所有代码,包括lib
适合新名称的代码
然后,当我运行时,gem build new-name.gemspec
我收到此错误:
ERROR: While executing gem ... (Gem::InvalidSpecificationException)
["my-app.gemspec", "documentation.docx"] are not files
Run Code Online (Sandbox Code Playgroud)
它仍然认识到我的旧结构而不是新的结构.
有解决方案吗
谢谢
我正在聊天应用程序.我想把时间戳放在聊天泡泡旁边.消息将左对齐(已接收)和右(已发送).
所以,我正在寻找一种方法来改变toLeftOf
对toRightOf
.现在,它看起来像这样:
这是我的每条消息的XML代码(我有ArrayAdapter
处理这个)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff" />
<TextView
android:id="@+id/timeStamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/bubble" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我在Google上搜索并找到了这个,但是不起作用:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
if(isReceivedMessage){
params.addRule(RelativeLayout.RIGHT_OF, R.id.bubble);
}
else{
params.addRule(RelativeLayout.LEFT_OF, R.id.bubble);
}
timeStampTextView.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
有解决方案吗 谢谢
我想在Splash屏幕上使用动画gif.所以我将src
config.xml 更改为我的gif,如下所示:
...
<gap:splash gap:density="xhdpi" gap:platform="android" src="res/screen/android/screen-xhdpi-portrait.gif" />
...
Run Code Online (Sandbox Code Playgroud)
但是当它运行时,gif图像不是动画,只显示第一帧.
我在应用程序中有另一个gif,它动画很好.所以我想在启动画面中的那个不是WebView
?
除了自定义Android Java代码之外,有没有办法将gif用于启动画面?
谢谢