小编Tha*_*Guy的帖子

PHP计算布尔数组中的真值数

我有一个关联数组,我需要计算其中布尔值的数量.

最终结果是创建一个if语句,当数组中只存在一个true值时,该语句将返回true.如果数组中有多个真值,或者数组中没有真值,则需要返回false.

我知道最好的路线是以某种形式使用count和in_array.我不确定这会起作用,只是在我的头顶,但即使它确实如此,这是最好的方法吗?

$array(a->true,b->false,c->true)    

if (count(in_array(true,$array,true)) == 1)
{
    return true
}
else
{
    return false
}
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array if-statement count

11
推荐指数
2
解决办法
9852
查看次数

使用 Flask-Login 临时覆盖来自特定重定向路由的登录消息

我有一个 Flask 应用程序并且正在使用 Flask-Login 来管理用户身份验证。主路由 ('/') 需要登录,但是我不希望它显示为该特定路由定义的错误消息。我希望它表现得像它应该闪烁其他路由的错误消息而不是这个路由。这是我的init .py 中的一个片段

login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view =  'login'
login_manager.login_message = 'You Must Login to Access This Page!'
login_manager.login_message_category = 'error'
Run Code Online (Sandbox Code Playgroud)

以下来自我的views.py

@app.route('/')
@login_required
def dashboard():
    return render_template('dashboard.html')

@app.route('/login', methods=["GET", "POST"])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = Employee.query.filter_by(email=form.email.data).first()
        if user and user.is_valid_pass(form.password.data):
            remember = form.remember.data == 'y'
            login_user(user, remember=remember)
            next = request.args.get('next')
            return redirect(next or url_for('dashboard'))
        else:
            flash(u'Incorrect Username or Password!', 'error')
            return redirect(url_for('login'))
    return render_template('login.html', form=form)
Run Code Online (Sandbox Code Playgroud)

如您所见,我的主路由密码受到保护,并且由于 login_manager …

python flask flask-login

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

关闭已禁用的表单控件Angular的验证

我有一个设置为禁用的按钮,直到表单有效.但是,根据具体情况,某些表单字段也会被禁用.我的问题是,我需要用户只需要填写非禁用的表单字段,但角度似乎没有验证禁用的字段.

<button ng-click="form.checkVerify(); appCtrl.pageLoad('spec')" ng-disabled="checkVerifyForm.$invalid" class="btn btn-lg btn-success pull-right">Complete</button>

<form name="checkVerifyForm">
  <div class="col-md-6">
    <fieldset ng-disabled="!form.dataStore.reqMake">
<label for="makeRec">Maker Recourse</label>
      <div class="form-group">
        <label class="radio-inline">
          <input ng-change="form.justify()" ng-model="form.verify.mRec" type="radio" name="makeRec" id="makeRecYes" value="1" /> Yes
        </label>
        <label class="radio-inline">
          <input ng-change="form.justify()" ng-model="form.verify.mRec" type="radio" name="makeRec" id="makeRecNo" value="0" /> No
        </label>
        <span id="helpBlock" class="help-block">Is there adequete recourse...</span>
      </div>
Run Code Online (Sandbox Code Playgroud)

现在我已经看到了一些非常激烈的指令来完成任务,但是有一些简单的东西可以在控制器中完成以克服这种特定的情况吗?

javascript angularjs

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

Flask-SQLAlchemy左外部联接筛选查询

最初,我尝试进行“右外部联接”,但是一旦发现不被支持,我便开始着手从左侧来。但是,我在弄清楚如何编写所需的内容时遇到了麻烦。本质上,我有两个表,Table_1并且Table_2需要Table_1where column_c等于的所有行1。此外,我需要所有的行Table_2,其中column_b是不是已经在Table 1。看起来像这样:

**Table_1**
column_a ( a and b are the
column_b ( primary key.
column_c

**Table_2**
column_b
Run Code Online (Sandbox Code Playgroud)

这就是我用SQL编写的方式:

SELECT *
FROM (SELECT * FROM Table_1 WHERE column_a = 123) t1
RIGHT OUTER JOIN Table_2 t2 ON t1.column_b = t2.column_b
WHERE t1.column_c = 1 or t1.column_c is NULL;

SELECT *
FROM Table_2 t2
LEFT OUTER JOIN (SELECT * FROM Table_1 WHERE column_a = 123) t1 …
Run Code Online (Sandbox Code Playgroud)

python mysql outer-join flask flask-sqlalchemy

4
推荐指数
1
解决办法
1342
查看次数

隐藏的默认表单值

我有一个简单的表单,我希望能够添加一个隐藏值,该值仅在用户未输入值的情况下使用。这些值适用于简单的文本输入字段,可以使用 HTML、PHP、JavaScript、JQuery 或其任意组合。让我进一步解释一下,值属性已设置为包含当前该表单的数据库中的值。但是,如果数据库中没有该特定字段的当前值,并且用户自己没有输入值,我希望在 POST 中传递默认值。

我做了一些研究并找到了自定义属性的示例等...但这些对我不起作用。因为我使用的数组生成器将表单中的所有字段作为单个数组传递给新函数。任何帮助将不胜感激!

下面显示的代码是表单的创建...正如您所看到的,无论锦标赛中存在多少轮,都会冗余地创建两个单独的字段。我还提供了两轮表单的输出 HTML 代码。如果数据库的相关字段有 NULL 值,并且用户没有输入他/她自己的值,我想传递“false”值。

                $rchkpos = array();
                $rchkscore = array();

                for ($i=0; $i<=$tournament['numRounds']; $i++)
                {
                    $rchkthis = array("$i" => "round".$i."pos");
                    $rchkthis2 = array("$i" => "round".$i."score");

                    $rchkpos = array_merge($rchkpos, $rchkthis);
                    $rchkscore = array_merge($rchkscore, $rchkthis2);

                    if ($i > 0)
                    {
                        $roundpos = $rchkpos[$i];
                        $roundscore = $rchkscore[$i];

                        if (!is_null($stats2[$roundpos])){
                            $roundposvar = "$stats2[$roundpos]";
                        }else{ 
                            $roundposvar = false;
                        }

                        if (!is_null($stats2[$roundscore])){ 
                            $roundscorevar = "$stats2[$roundscore]";
                        }else{ 
                            $roundscorevar = false;
                        }

                        $team_stats.="
                        <tr valign='top'>
                            <td align='center'>" . LANG_MAN_ROUND . " …
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery

2
推荐指数
1
解决办法
9383
查看次数