从Flask Mega教程中理解一些Flask-SQLAlchemy的东西有些困难.这是代码:
followers = db.Table('followers',
db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
class User(db.Model):
id = db.Column(db.Integer, primary_key = True)
nickname = db.Column(db.String(64), unique = True)
email = db.Column(db.String(120), index = True, unique = True)
role = db.Column(db.SmallInteger, default = ROLE_USER)
posts = db.relationship('Post', backref = 'author', lazy = 'dynamic')
about_me = db.Column(db.String(140))
last_seen = db.Column(db.DateTime)
followed = db.relationship('User',
secondary = followers,
primaryjoin = (followers.c.follower_id == id),
secondaryjoin = (followers.c.followed_id == id),
backref = db.backref('followers', lazy = 'dynamic'), …Run Code Online (Sandbox Code Playgroud) 我正在研究Flask Mega-Tutorial,我遇到了这段代码:
class User(db.Model):
id = db.Column(db.Integer, primary_key = True)
nickname = db.Column(db.String(64), unique = True)
email = db.Column(db.String(120), unique = True)
role = db.Column(db.SmallInteger, default = ROLE_USER)
posts = db.relationship('Post', backref = 'author', lazy = 'dynamic')
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return unicode(self.id)
def __repr__(self):
return '<User %r>' % (self.nickname)
Run Code Online (Sandbox Code Playgroud)
is_authenticated,is_active和is_anonymous对我来说似乎很奇怪 - 他们何时会返回除预定义值以外的任何内容?
有人可以向我解释为什么Flask-Login让我使用这些看似无用的方法吗?
为什么这段代码有效?在我打印出来之前,我希望我需要取消引用ptr, printf("%s\n", *ptr);但Segmentation Fault如果我尝试这样做,我会得到一个.
#include <stdio.h>
int main(int argc, char *argv[])
{
char name[] = "Jordan";
char *ptr = name;
printf("%s\n", ptr);
}
Run Code Online (Sandbox Code Playgroud)
希望你们能给我一些见解.
我正在用KnockoutJS创建一个可排序的表。该表工作正常,但是当用户单击该特定标题时,我希望在标题上方显示一个向上箭头。再次单击,向上箭头应朝下。首先,箭头应在“年龄”(Age)列上朝上。
现在,没有箭头出现。是什么导致这种情况在我的代码中发生?
HTML:
<table>
<thead>
<tr data-bind="foreach: headers">
<td data-bind="click: $parent.sort, text: title">
<span data-bind="if: arrowDown"> v </span>
<span data-bind="if: arrowUp"> ^ </span>
</td>
</tr>
</thead>
Run Code Online (Sandbox Code Playgroud)
昏死:
var viewModel = function(){
var self = this;
self.people = ko.observableArray([
{firstName:'James',lastName:'Smith',age:38},
{firstName:'Susan',lastName:'Smith',age:36},
{firstName:'Jeremy',lastName:'Smith',age:10},
{firstName:'Megan',lastName:'Smith',age:7},
{firstName:'James',lastName:'Jones',age:40},
{firstName:'Martha',lastName:'Jones',age:36},
{firstName:'Peggy',lastName:'Jones',age:10}
]);
self.headers = [
{title:'First Name',sortPropertyName:'firstName', asc:true, arrowDown: false, arrowUp: false},
{title:'Last Name',sortPropertyName:'lastName', asc:true, arrowDown: false, arrowUp: false},
{title:'Age',sortPropertyName:'age', asc:true, arrowDown: false, arrowUp: true}
];
self.activeSort = self.headers[2];
self.sort = function(header, event){
if(self.activeSort === header) …Run Code Online (Sandbox Code Playgroud) 当用户将鼠标悬停在我的div上时,我希望我的背景图像从.1不透明度增加到.5不透明度.
HTML
<div id="list">
<div class="line_one">om nom nom nom...</div>
<div class="line_two">18 foods to make you incredibly hungry</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#list {
display:block;
position: relative;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-ms-transition: all 1s ease;
transition: all 1s ease;
}
#list::after {
content: "";
background: url('test.jpg');
opacity: 0.1;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)
必须有一种方法可以在没有Javascript的情况下完成此操作.有任何想法吗?
flask ×2
c ×1
css ×1
flask-login ×1
html ×1
jquery ×1
knockout.js ×1
many-to-many ×1
opacity ×1
python ×1
sorting ×1
sqlalchemy ×1
web ×1