在阅读了许多类似的声音问题和相关的Flask文档之后,我似乎无法弄清楚在提交表单时会产生以下错误:
400错误请求
浏览器(或代理)发送了此服务器无法理解的请求.
虽然表单总是正确显示,但当我提交与这些函数中的任何一个相关联的HTML表单时,会发生错误请求:
@app.route('/app/business', methods=['GET', 'POST'])
def apply_business():
if request.method == 'POST':
new_account = Business(name=request.form['name_field'], email=request.form['email_field'], account_type="business",
q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'],
q5=request.form['q5_field'], q6=request.form['q6_field'], q7=request.form['q7_field'],
account_status="pending", time=datetime.datetime.utcnow())
db.session.add(new_account)
db.session.commit()
session['name'] = request.form['name_field']
return redirect(url_for('success'))
return render_template('application.html', accounttype="business")
@app.route('/app/student', methods=['GET', 'POST'])
def apply_student():
if request.method == 'POST':
new_account = Student(name=request.form['name_field'], email=request.form['email_field'], account_type="student",
q1=request.form['q1_field'], q2=request.form['q2_field'], q3=request.form['q3_field'], q4=request.form['q4_field'],
q5=request.form['q5_field'], q6=request.form['q6_field'], q7=request.form['q7_field'], q8=request.form['q8_field'],
q9=request.form['q9_field'], q10=request.form['q10_field'],
account_status="pending", time=datetime.datetime.utcnow())
db.session.add(new_account)
db.session.commit()
session['name'] = request.form['name_field']
return redirect(url_for('success'))
return render_template('application.html', accounttype="student")
Run Code Online (Sandbox Code Playgroud)
HTML的相关部分是
<html>
<head>
<title>apply</title>
</head>
<body>
{% …Run Code Online (Sandbox Code Playgroud) 我没有找到一个从Meteor应用程序发送推送通知的综合教程.我知道Meteor使用node.js运行,所以我一直在关注这个高度引用和推荐的教程https://blog.engineyard.com/2013/developing-ios-push-notifications-nodejs,但无济于事; 在部署我的应用程序时,它上传但网站没有响应(并且鉴于部署没有错误,我无法看到问题所在,尽管我认为它与我如何组织文件有关).
我按照教程的说明正确下载并加载了所有证书.我使用他们的示例应用程序来正确获取我的测试设备的ID.在Meteor的文件夹配置中,我无法弄清楚在哪里正确放置其他文件和依赖项.它应该如何与教程中的结构不同(换句话说,这个结构应该放在.meteor我的应用程序文件夹中的文件夹内)?
我认为首要的问题是,流星简单结构的应用程序不同于普通的Node.js应用程序,因此我需要被放置在一个特定的文件夹,这些证书和依赖关系,而不仅仅是主应用程序文件夹application.html,application.js和application.css.
我有一个UILabel,hardWayLabel在UIView里面hardWayView.我需要这个视图(以及标签)来动画到屏幕最左侧的新位置.但是,当标签移动到正确位置时,可以看到视图继续远离屏幕左侧移动.我使用以下代码进行动画(我在我的应用程序中成功使用了很多次):
CGRect frame = hardWayView.frame;
frame.origin.x = painPoint.x;
frame.origin.y = painPoint.y;
hardWayView.frame = frame;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.25];
Run Code Online (Sandbox Code Playgroud)
我已经使用NSLog来确保painPoint.x和painPoint.y是他们应该是什么9,这可以通过UILabel到达正确位置的事实得到证实.我想真正的问题是为什么UIView会继续超越屏幕边界(在这种情况下只有当UIView从屏幕中心向左移动时才这样做)?
我确实启用了Autolayout,但我不认为这是罪魁祸首.当我在iOS 7的iPhone模拟器上运行应用程序时出现此问题,我无法让模拟器与iOS 6一起运行,因此无法将问题隔离到iOS 7(虽然它可能是吗?我开始开发旧版Xcode和应用程序不使用故事板).
这是该问题的屏幕录制.如您所见,将两个视图从左向右移动可正常工作.虽然将视图向左移动时,其中一个视图(黑色背景)似乎通过左上角离开屏幕,而标签(橙色文本)转到正确的位置).解释性视频
更新:这里有更多代码.它与我的应用程序的其他部分几乎完全相同,可以完美地工作,这有点像脑力爆破.
NSString *stringOfRands = tDict[@"originalRand"];
if ([stringOfRands rangeOfString:@"+"].location != NSNotFound)
{
NSArray *arrayOfRands = [stringOfRands componentsSeparatedByString:@" + "];
for (int z=1; z<[arrayOfRands count]; z++)
{
NSString *updateValue = arrayOfRands[z];
NSInteger newHiddenPosition = [self findBlank:leftSpaces];
NSDictionary *updateStuff = @{@"updateValue": updateValue, @"workingMasterDict":tDict, @"newPos":@(newHiddenPosition), @"newCGPto":@"left", @"@parent":colorV};
[self revealHidden:updateStuff];
}
}
Run Code Online (Sandbox Code Playgroud)
我相信问题是在revealHidden调用动画的方法中真正发生的. …
所以我正在尝试建立一个数据库,其中的行将经常被修改.例如,每小时,我想在数据库的特定部分添加一个数字.因此,如果self.checkmarks输入数据库等于3,更新数据库的这一部分的最佳方法是什么,使得self.checkmarks现在相等3, 2?我尝试建立列,db.Array但得到了属性错误:
AttributeError:'SQLAlchemy'对象没有属性'Array'
我已经找到了如何更新数据库,但我不知道通过添加到列表而不是替换来更新的最佳方法.我的方法如下,但我认为append不会起作用,因为列不能是一个数组:
ven = data.query.filter_by(venid=ven['id']).first()
ven.totalcheckins = ven.totalcheckins.append(ven['stats']['checkinsCount'])
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
提前谢谢了
我是开发应用程序的新手,我一直在尝试熟悉使用Flask这样做.我按照他们的精彩教程阅读了他们同样详细的文档,以创建我的第一个使用SQLite3数据库的基本应用程序.
为了实现这一点,并按照他们的指示,我导入了以下内容:
from __future__ import with_statement
from contextlib import closing
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, \
abort, render_template, flash
Run Code Online (Sandbox Code Playgroud)
并schema.sql使用以下内容设置文件以配置数据库:
drop table if exists entries;
create table entries (
id integer primary key autoincrement,
title string not null,
text string not null
);
Run Code Online (Sandbox Code Playgroud)
我使用再次来自Flask站点教程的命令访问数据库.我认为,在创建用户创建和管理自己的帐户的应用程序时,我需要实现MySQL数据库.在这种情况下,我需要更改与数据库相关的代码有哪些类似的东西?我确信使用这两个数据库之间存在很大的差异,因此任何参考点 - 建议或遵循的文档 - 将不胜感激.
提前谢谢了.
我是Python的新手.首先,代码应该采用输入(以"x/y/z"的形式,其中x,y和z是任何正整数)并将其分成三个不同的变量.
input = raw_input()
a, b, c = input.split("/", 2)
Run Code Online (Sandbox Code Playgroud)
我希望我的代码的第二部分采用这三个变量并根据它们的数值对它们进行排序.
order = [a, b, c]
print order
order.sort()
print order
Run Code Online (Sandbox Code Playgroud)
虽然这适用于大多数输入,但我发现对于输入"23/9/2"和"43/8/2",输出尚未排序,因此不会以正确的顺序返回.关于什么可能导致这些输入不起作用的任何想法?
我正在尝试搜索网页的源代码,并使用Python从中下载各种文件.此脚本在源代码中搜索.jpg文件,并按预期下载所有文件.但是,在修改脚本(将".jpg"更改为".png",如下所示)时,我收到错误:
Traceback (most recent call last):
File "img.py", line 19, in <module> urllib.urlretrieve(images[z], "image"+str(z)+".png")
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 91, in urlretrieve
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 237, in retrieve
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 205, in open
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 461, in open_file
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 475, in open_local_file
IOError: [Errno 2] No such file or directory: '/images/adapt-icon-search.png?1342791397'
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的脚本:
import urllib
import urllib2
import re
print "enter url of site (such as 'dribbble.com')"
url = raw_input()
fullurl = "http://"+url
src = urllib2.urlopen(fullurl)
src = src.read() …Run Code Online (Sandbox Code Playgroud) 我正在制作股票应用程序,在用户输入股票之后MSFT,他们被重定向到.../stock?s=MSFT我已经成功完成这部分,但现在我需要Python来获取当前唯一的URL以便我可以解析报价(在这种情况下,MSFT如果它出来并将其保存为新变量.
我能想到的最简单的方法就是获取当前的URL,尽管我似乎找不到办法做到这一点; 使用self.request...但是这返回了错误:
NameError: global name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)
我遇到的其他想法是使用一种形式,urllib因为它包含一个特定的.request_qs()方法,虽然这要求我将URL作为参数传递,由于库存的变化,每次都应该是唯一的.
这是我目前拥有的Python:
@app.route('/', methods=['GET', 'POST'])
def home_search():
if request.method == 'POST':
st = request.form['s']
return redirect(url_for('stock')+'?s='+st)
return render_template('stk.html')
@app.route('/stock', methods=['GET', 'POST'])
def stock():
#here I need to save the variable 'name' as the current URL. I can parse it later.
url="http://finance.yahoo.com/d/quotes.csv?s="+name"&f=snl1"
text=urllib2.urlopen(url).read()
return render_template('stock.html')
Run Code Online (Sandbox Code Playgroud)
提前谢谢了.
我目前有一个脚本应该获取并返回Bit.ly链接的点击次数.我从收集和读取Bitly url中的数据开始,我似乎正确地做了.
bitly_data = "https://api-ssl.bitly.com/v3/link/clicks?access_token=ACCESS_TOKEN&link=http://bit.ly/"+link
src = urllib2.urlopen(bitly_data)
src = src.read()
Run Code Online (Sandbox Code Playgroud)
何时link是这样的东西TY8lnd,src是一个看起来像的字符串
{"status_code":200,"data":{"units": - 1,"tz_offset": - 4,"unit":"day","link_clicks":535},"status_txt":"OK"}
我现在想要解析这个字符串以获得之后的数值link_clicks.我认为最好的方法是做两次分裂.
src=src.split('clicks": ')
src = str(src[1])
clicks = src.split('}, "status')
clicks = clicks[0]
Run Code Online (Sandbox Code Playgroud)
当我运行它时,点击确实最终等于正确的数字,只有那个.但是,Terminal返回该行的IndexError src = str(src[1]).我试图摆脱它,str()但这没有影响.尽管最终价值得到纠正,我仍然非常理解为什么我会收到这个错误.
以下是Traceback的全部内容:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", …Run Code Online (Sandbox Code Playgroud) 我有以下型号和表格:
chat_members = db.Table('chat_members',
db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
db.Column('chat_id', db.Integer, db.ForeignKey('chat.id'))
)
class chat(db.Model):
id = db.Column(db.Integer, primary_key=True)
start_date = db.Column(db.DateTime)
chat_memb = db.relationship('user', secondary=chat_members, backref=db.backref('members', lazy='dynamic'))
chat_line = db.relationship('line', backref='chat_line', lazy='dynamic')
def __repr__(self):
return '<Chat %r>' % (self.id)
class user(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_email = db.Column(db.String, unique=True)
user_password = db.Column(db.String)
lines = db.relationship('line', backref='line_author', lazy='dynamic')
def __repr__(self):
return '<User %r>' % (self.user_email)
class line(db.Model):
id = db.Column(db.Integer, primary_key=True)
published_date = db.Column(db.DateTime)
chat_id = db.Column(db.Integer, db.ForeignKey('chat.id'))
sent_by = db.Column(db.Integer, db.ForeignKey('user.id')) …Run Code Online (Sandbox Code Playgroud) 我刚写了一个脚本,意思是通过字母表找到所有无人认领的四个字母的推特名字(实际上只是为了练习,因为我是Python的新手).我写了几个以前的脚本,使用'urllib2'从网址获取网站html,但这次它似乎没有工作.这是我的脚本:
import urllib2
src=''
url=''
print "finding four-letter @usernames on twitter..."
d_one=''
d_two=''
d_three=''
d_four=''
n_one=0
n_two=0
n_three=0
n_four=0
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
while (n_one > 26):
while(n_two > 26):
while (n_three > 26):
while (n_four > 26):
d_one=letters[n_one]
d_two=letters[n_two]
d_three=letters[n_three]
d_four=letters[n_four]
url = "twitter.com/" + d_one + d_two + d_three + d_four
src=urllib2.urlopen(url)
src=src.read()
if …Run Code Online (Sandbox Code Playgroud)