我正在使用Pixel Admin模板,它不是我现在认为的当前版本,用于实现使用旧版本的select2依赖版本3.5.1的jinja2 web应用程序.它工作正常,除了在iso设备上查看时,虚拟键盘始终显示在触摸select2上.
我知道这个bug已经在select2最新版本4.0.6中修复了,所以我想把它改成这个版本.
的layout.html
<!DOCTYPE html>
<html class="gt-ie8 gt-ie9 not-ie pxajs">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Web Application</title>
<script src="{{ url_for('static',filename='js/jquery-1.11.1.min.js') }}"></script>
<script src="{{ url_for('static',filename='js/bootstrap.min.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/bootstrap.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/pixel-admin.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/rtl.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/themes.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/pages.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='stylesheets/widgets.min.css') }}">
<script src="{{ url_for('static',filename='javascripts/dynamic_con.js') }}"></script> …Run Code Online (Sandbox Code Playgroud) 我尝试将jinja代码保存在CKEditor中,就像我在代码视图和WYSIWYG视图之间切换视图一样.
我可以通过在我的config.js文件中添加以下行来获得此结果
CKEDITOR.config.protectedSource.push(/\r|\n/g);
CKEDITOR.config.autoParagraph = false;
Run Code Online (Sandbox Code Playgroud)
但是,它对HTML代码不起作用.例如,如果jinja代码和这样html混合在一起:
{% if name=='bob' %}
{{'hello bob'}}
{%else%}
{{ 'hello ' + name }}
{% endif %}
<p>Hello visitor</p>
Run Code Online (Sandbox Code Playgroud)
这是Fiddle JS上的 Demo
在此之后,当我在CKEditor中从代码视图更改为wyiwyg视图时,HTML代码只增加了一行,另一行用于另一个切换视图,如下所示:
我找不到HTML代码有什么问题,我只是格式化jinja代码,我该如何解决?谢谢
我尝试根据其中的内容量创建一些<page></page>类a4.如果内容超过了高度<page></page>,我想创建一个新<page></page>的内容超过上一页.
var element = document.getElementsByClassName('a4')[0];
var editorHeight = element.offsetHeight;
var pages = element.childElementCount * 1123;
var pageNumber = element.getElementsByClassName('a4').length + 1;
if (editorHeight < pages) {
var newPage = document.createElement('page');
newPage.setAttribute('size', 'A4');
newPage.setAttribute('class', 'a4');
newPage.dataset.pages = pageNumber;
element.appendChild(newPage);
}Run Code Online (Sandbox Code Playgroud)
body {
background: rgb(204, 204, 204);
}
page {
background: white;
display: block;
text-align: justify;
margin: 20px;
margin-bottom: 0.5cm;
box-shadow: 0 0 0.5cm rgba(0, 0, 0, 0.5);
}
page[size="A4"] {
width: 21cm;
height: …Run Code Online (Sandbox Code Playgroud)来自下表Loan_Amendment中的数据:
ID | Amount | AddDeduct | AmendDate
-----------+----------------+-----------+------------
LT0000160 | 1000.000000000 | 2 | 2018-02-08
LT0000170 | 1500.00000000 | 1 | 2018-02-10
LN0000577 | 1000.000000000 | 1 | 2018-03-20
LN0000587 | 2000.000000000 | 2 | 2018-03-20
Run Code Online (Sandbox Code Playgroud)
我试图选择Amount具有相同年份和月份的sum字段AmendDate。
因此,我尝试如下选择查询SQLALchemy:
AmendObj = db.session.query(func.sum(Loan_Amendment.Amount).label('Amount'),
Loan_Amendment.AmendDate).\
group_by(Loan_Amendment.AmendDate).\
first()
Run Code Online (Sandbox Code Playgroud)
但是,从我尝试过的上述查询中,我只能按完全相同的日期(年、月和日)对AmendDate.
我的模型如下所示:
class Loan_Amendment(Object):
ID = db.Column(db.String(13), primary_key=True)
AddDeduct = db.Column(db.String(1))
Amount = db.Column(db.Numeric(25, 9))
AmendDate = db.Column(db.String(20))
Run Code Online (Sandbox Code Playgroud)
目前,我使用Flask-SQLAlchemy==2.0andSQLAlchemy==0.9.9和 DB …
使用quick_form Flask-Bootstrap生成的形式对我来说是非常方便的,但是,我不能在他们找到的文档的方式,我可以额外类添加到label所要求的我的模板主题。
我的 forms.py 类如下所示:
from flask_wtf import Form
from wtforms import StringField,PasswordField,TextField,SubmitField
from wtforms.validators import InputRequired,EqualTo,Email,ValidationError
class Building_Form(Form):
BuildingName = TextField('Building Name')
BuildingType = TextField('Building Type')
FloorNums = TextField('Numers of Floor')
BuildUnits = TextField('Units in Building')
BuildSize = TextField('Building Size')
BuiltYear = TextField('Built in (year)')
BuildOpeningTime = TextField('Open Time')
BuildClosingTime = TextField('Close Time')
Run Code Online (Sandbox Code Playgroud)
我的routes.py如下所示:
from app.import_core import *
from flask_wtf import FlaskForm
from wtforms import Form, BooleanField, StringField, PasswordField, validators
from …Run Code Online (Sandbox Code Playgroud) 我正在使用select2Pixels Admin Template中的库.我注意到它在桌面和Android设备上运行良好.但是,在iOS设备上查看时,下拉列表无法打开.我不知道为什么会这样.
$(document).ready(function() {
var init = [];
init.push(function() {
var $select2 = $("#Salutation,#Gender").select2();
$select2.on('select2:select select2:unselect', () => {
$(":focus").blur();
});
})
window.PixelAdmin.start(init);
});Run Code Online (Sandbox Code Playgroud)
body .select2-container.select2-container--default.select2-container--open {
top: 305px!important;
left: 22px!important;
}
.select2.select2-container.select2-container--default.select2-container--below.select2-container--open {
top: auto!important;
}Run Code Online (Sandbox Code Playgroud)
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Select2</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="pixel-admin.min.js"></script>
<link rel="stylesheet" href="pixel-admin.min.css">
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.5/select2.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.5/select2.min.js"></script>
<div class="container">
<div class="row">
<div class="col-xs-4 col-xs-offset-4">
<h3>Application Form</h3>
<form class="form" action="/action_page.php"> …Run Code Online (Sandbox Code Playgroud)我正在上传一份文档 (PDF),其中主要包含在 CamScanner(CS) 应用程序的帮助下从手机摄像头现场拍摄的图像。
我可以处理图像文件上传以减小图像的大小,但无法在上传之前减小 PDF 文档的大小。
根据多个来源的建议,一种方法是调整图像文件的大小,使用jspdf生成 PDF 文件并开始上传 PDF 文件。
// Compress image and convert to pdf
function resizeBase64Img(base64, width, height) {
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height;
var context = canvas.getContext("2d");
var deferred = $.Deferred();
$("<img/>").attr("src", "data:image/gif;base64," + base64).on('load',function() {
context.scale(width/this.width, height/this.height);
context.drawImage(this, 0, 0);
deferred.resolve($("<img/>").attr("src", canvas.toDataURL()));
});
return deferred.promise();
}
//select my image in base64
var imageStr64 = "/9j/4RiDRXhpZgAATU0AKgA...";
//resize image, add image and create the pdf
resizeBase64Img(imageStr64, 1000, 1000).then(function(newImg){ …Run Code Online (Sandbox Code Playgroud) 我的项目结构如下
??? app
? ??? Country
? ? ??? views.py
? ??? Customer
? ? ??? views.py
Run Code Online (Sandbox Code Playgroud)
模块“Country”文件夹是我尝试将其重命名为“Countries”的地方,并且每次使用它时,它也被导入Customer/views.py。
from app.Country.views import *
....
Run Code Online (Sandbox Code Playgroud)
根据本教程Refactoring Python Applications for Simplicity,我尝试如下:
>>> from rope.base.project import Project
>>>
>>> proj = Project('app')
>>>
>>> Country = proj.get_folder('Country')
>>>
>>> from rope.refactor.rename import Rename
>>>
>>> change = Rename(proj, Country).get_changes('Countries')
>>> proj.do(change)
Run Code Online (Sandbox Code Playgroud)
执行脚本后,模块文件夹'Country'被更改为'Countries',但是它在Customer/views.py中使用的实例没有相应改变,Customer/views.py中的import语句仍然存在
from app.Country.views import *
Run Code Online (Sandbox Code Playgroud)
我预计它应该from app.Countries.views import *在重构后更改为,但它没有。
我还应该做些什么来成功地重构它?谢谢。
我有像这样的字典的字符串:
{"h":"hello"}
Run Code Online (Sandbox Code Playgroud)
我想按照这里的指示将其转换为实际字典
>>> import json
>>>
>>> s = "{'h':'hello'}"
>>> json.load(s)
Run Code Online (Sandbox Code Playgroud)
然而,我收到了一个错误:
回溯(最近通话最后一个):文件"",1号线,在文件"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/ 初始化的.py",线路286,在加载返回负载(fp.read(),
AttributeError:'str'对象没有属性'read'
我的代码有什么问题,以及如何将字符串转换为实际字典?谢谢.
在所见即所得的文本编辑器源代码视图中,我有这个简单的html:
<span style="font-family: Moul;" {%if loop.first=='first'%} first="" {%endif%}>Hello Text</span>
Run Code Online (Sandbox Code Playgroud)
但是,当我从源视图切换到可视视图时,wysiwyg将我的html代码更改为:
<span style="font-family: Moul;" {%if="" loop.first="='first'%}" {%endif%}="">Hello Text</span>
Run Code Online (Sandbox Code Playgroud)
但是,我想保留我的html,而不是通过文本编辑器更改.
$('#summernote').summernote({
height: 300
});Run Code Online (Sandbox Code Playgroud)
body {
padding: 40px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote-bs3.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.min.css">
<textarea name="summernote" id="summernote" cols="30" rows="10">
</textarea>Run Code Online (Sandbox Code Playgroud)
事实上,wysiwyg将单个html属性转换为附加"="和双引号" ".我测试了<input type="checkbox" checked>在wysiwyg的源视图中写入,它将被转换属性检查为这样:因为wysiwyg将单个属性视为无效属性,因此它附加等号"="并双引号""输出<input type="checkbox" checked="">.您可以在上面的代码段中测试它.因此,这是我的jinja2上面的语法附加,=并" "在运行时导致语法错误异常.
我试图使用正则表达式来帮助让wysiwyg改变我的html,如下所示:
codeview = $('summernote').summernote('code');
console.log(codeview);
Regx = /(\<.*\s*\{\%[^}]*\%\}.*\s*\>)/g;
codeview.replace(Regx,'$1'); …Run Code Online (Sandbox Code Playgroud) javascript ×5
html ×4
jinja2 ×3
python ×3
ckeditor4.x ×1
css ×1
dictionary ×1
flask ×1
jquery ×1
json ×1
pdf ×1
postgresql ×1
python-2.7 ×1
rope ×1
sqlalchemy ×1
summernote ×1
wysiwyg ×1