小编nsf*_*n55的帖子

Flask-Admin ModelView中的只读文本字段

如何在ModelViewreadonly 上创建一个字段?

class MyModelView(BaseModelView):
    column_list = ('name', 'last_name', 'email')
Run Code Online (Sandbox Code Playgroud)

python flask flask-sqlalchemy flask-admin

11
推荐指数
5
解决办法
7976
查看次数

来自Unmodfiable Map的并发读取

如果我静态初始化地图并将引用设置为Collections.unmodifiableMap(Map m).我是否需要同步读取?

private static final Map<String,String> staticMap; 
static{
   Map<String,String> tempMap = new HashMap<String,String>();

   tempMap.put("key 1","value 1");
   tempMap.put("key 2","value 2");
   tempMap.put("key 3","value 3");

   staticMap = Collections.unmodifiableMap(tempMap);
}
Run Code Online (Sandbox Code Playgroud)

java concurrency

10
推荐指数
2
解决办法
2733
查看次数

二进制搜索问题?

可能重复:
实现二进制搜索有哪些缺陷?

我正在仔细阅读维基百科页面的二进制搜索,并偶然发现了Knuth的一句话:

"尽管二元搜索的基本思想相对简单,但细节可能会非常棘手"

我记得在我的计算机科学课程中实施了几个二进制搜索,但是不记得它非常棘手.然而,这篇文章指出,90%的被调查专业人员在几小时后无法工作.我想假设这不是因为这些是非常糟糕的程序员,而是存在天真实现不能解释的边缘情况.

Knuth所指的细节是什么?如果实现二进制搜索算法,需要注意哪些常见问题?

注意我读了Bloch关于Programming Pearls bug的文章(中点的int溢出).还有别的事吗?

algorithm computer-science binary-search

10
推荐指数
1
解决办法
2675
查看次数

如何在本地Django环境中提供媒体文件?

我可以通过管理页面上传图像,但是当我导航到django生成的网址时,无法找到图像.(404错误)文件正在上传到文件夹:

project_root/media/eventbanner/1/
Run Code Online (Sandbox Code Playgroud)

我尝试了多种解决方案,但似乎没有一种方法适用于我的情况.Django 1.10正在Ubuntu 16.04上运行.

我得到的网址是:

http://localhost:8000/media/eventbanner/1/banner_image.jpg
Run Code Online (Sandbox Code Playgroud)

媒体根文件夹位于:

/home/username/xxx/xxx/project_name/media
Run Code Online (Sandbox Code Playgroud)

HTML文件中的代码:

<div class="banner-image">
  <img src="{{ event.eventbanner.banner_image.url }}"/>
</div>
Run Code Online (Sandbox Code Playgroud)

url.py代码:

from django.conf.urls import url, include
from django.contrib import admin
from . import views
from django.conf import settings
from django.conf.urls.static import static

app_name = 'events'

urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^details/(?P<event_id>[0-9]+)/$', views.details, name='details'),
url(r'^details/(?P<event_id>[0-9]+)/addcomment/$', views.add_comment, name='add_comment'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS =[os.path.join(BASE_DIR, 'static'),]

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

models.py

def validate_only_one_instance(obj):
    model = obj.__class__
    if (model.objects.count() …
Run Code Online (Sandbox Code Playgroud)

python django django-staticfiles

8
推荐指数
2
解决办法
6838
查看次数

Flask-WTFform:Flash不显示错误

我正在尝试刷新WTForm验证错误.我找到了这个片段并略微修改了它:

 def flash_errors(form):
    """Flashes form errors"""
    for field, errors in form.errors.items():
        for error in errors:
            flash(u"Error in the %s field - %s" % (
                getattr(form, field).label.text,
                error
            ), 'error')
Run Code Online (Sandbox Code Playgroud)

这是我的一个表单类:

class ContactForm(Form):
    """Contact form"""
    # pylint: disable=W0232
    # pylint: disable=R0903
    name = TextField(label="Name", validators=[Length(max=35), Required()])
    email = EmailField(label="Email address",
                       validators=[Length(min=6, max=120), Email()])
    message = TextAreaField(label="Message",
                            validators=[Length(max=1000), Required()])
    recaptcha = RecaptchaField()
Run Code Online (Sandbox Code Playgroud)

并查看:

@app.route("/contact/", methods=("GET", "POST"))
def contact():
    """Contact view"""
    form = ContactForm()
    flash_errors(form)
    if form.validate_on_submit():
        sender = "%s <%s>" …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms

7
推荐指数
1
解决办法
5428
查看次数

对象可以从特征中推断出被覆盖的字段的类型吗?

我正在生成一些测试数据如下:

trait Template {
  val field1: Map[List[String], Map[Int, List[Boolean]]] //the type is for illustration. Think of it as a 'monstrous type definition'
  val field2: Map[List[Int], Map[Double, List[Option[String]]]]
}

object Fixture extends Template {
  override val field1 = Map()
  override val field2 = Map() 
}
Run Code Online (Sandbox Code Playgroud)

这个消息失败了value field1 has incompatible type,同上field2吗?

我可以通过Fixture显式提供类型来修复它,但我试图避免这种情况,因为如果我在特征中更改了一个类型,我将需要将它传播到每个fixture对象.

可我的object Fixture推断类型field1field2距离trait Template.

scala

7
推荐指数
1
解决办法
108
查看次数

使用json替换pickle的Flask SecureCookie导致编码错误

以下是werkzeug对会话序列化的建议:

默认实现使用Pickle,因为这是创建此模块时标准库中唯一可用的模块.如果你有simplejson可用,强烈建议创建一个子类并替换序列化方法:

当我在下面的Flask实现后执行此操作时:

https://gist.github.com/runfalk/2501926

或者

from werkzeug.contrib.securecookie import SecureCookie
Secure_Cookie.serialization_method = json
Run Code Online (Sandbox Code Playgroud)

UnicodeDecodeError:'utf8'编解码器无法解码位置0中的字节0x97:无效的起始字节

当我尝试登录时会发生这种情况.

我已经钻研了json编码器源并尝试设置ensure_ascii=False,这让我超越了上面的错误,但后来我根本无法登录到应用程序.它只会闪烁屏幕而没有错误,我仍然坚持登录提示.泡菜一切正常.

重要的一点是,这个问题对于集成是独一无二的,Flask-login 并且不会仅仅与vanilla flask会话序列化一起发生

ASKSBADQUESTIONS的代码确实有效,但这会引发解码错误

import json

from flask import Flask, session
from flask.sessions import SecureCookieSession, SecureCookieSessionInterface
from flask.ext.login import LoginManager

class JSONSecureCookieSession(SecureCookieSession):
    serialization_method = json

class JSONSecureCookieSessionInterface(SecureCookieSessionInterface):
    session_class = JSONSecureCookieSession

app = Flask(__name__)
app.secret_key = "I-like-cookies-and-some-secure-cookies"
app.session_interface = JSONSecureCookieSessionInterface()

#Initialize Login Manager
login_manager = LoginManager()
login_manager.setup_app(app)

@app.route("/")
def hello():
    k = "lalala"

    v = session.get(k)

    if v is None:
        print "set" …
Run Code Online (Sandbox Code Playgroud)

python session werkzeug flask

6
推荐指数
1
解决办法
1919
查看次数

您可以使用 emacs 内联编辑 .jar/archive 内容吗

我知道您可以使用 emacs 浏览存档的内容。有没有办法可以就地编辑这些文件并透明地写入存档?目前,我导航到存档,将文件写入临时目录,然后使用 java jar 命令将文件添加回存档。它有点痛。

PS 我知道很少有您想要这样做的用例,但是我继承了一个平台,我无法在短期内轻松修改该平台以应对此限制。

emacs

5
推荐指数
1
解决办法
1743
查看次数

如何保护我的课程实现免受其他开发人员的影响?

考虑一下 interface

public interface IDoSomething {
   void DoAAA();
   void DoBBB();
   void DoCCC();
}
Run Code Online (Sandbox Code Playgroud)

和这两个实现

public class MyObject1 implements IDoSomething {
   public MyObject(int a, xObjx x)
    ..
}   

public class MyObject2 implements IDoSomething {
    public MyObject(int a, xObjx x)
    ..
}   
Run Code Online (Sandbox Code Playgroud)

我怎么能将实现类暴露给其他开发人员?具体如何防止以下情况?

IDoSomething C = new  MyObject2();
Run Code Online (Sandbox Code Playgroud)

使用工厂级的最佳做法是什么?

public class DoSomethingFactory {
    static IDoSomething getDoSomething(int a, xObjx x) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

如何扩展此模式以包含具有不同构造函数的实现?

java constructor factory interface

5
推荐指数
1
解决办法
133
查看次数

Django w/MySQL非事务性更改表无法回滚

使用MySQL数据库继续获取此警告:

Some non-transactional changed tables couldn't be rolled back

我不确定这意味着什么,或者它是否甚至导致了问题,但我希望有人能够让我知道这意味着什么.

我正在使用CSV文件,逐行读取并使用创建Django对象get_or_create.收到消息后,当我尝试重新创建消息时,在警告发生之前,我会进一步进入CSV文件.

我尝试在线阅读这个错误,但我真的不明白这意味着什么.理所当然地弄清楚是什么造成这种情况,但如果我不能,我想知道我是否可以抑制警告,因为它可能不会对我的数据库产生负面影响.

python mysql csv django transactions

5
推荐指数
1
解决办法
1643
查看次数