我想使用以下参数构造一个多部分请求:name(字符串),email(字符串)和fileupload(文件).我正在使用下面的Java代码(在Android中工作).
打印httppost.getRequestLine()
POST http://www.myurl.com/upload HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
所以在客户端站点上一切看起来都不错,但我的服务器(Django/Apache)将其作为GET请求读取,没有GET参数 - request.method生成'GET',request.GET.items()生成一个空字典.
我究竟做错了什么?我实际上并不知道如何正确设置多部分参数 - 使用猜测 - 所以这可能是问题所在.
public void SendMultipartFile() {
Log.e(LOG_TAG, "SendMultipartFile");
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.myurl.com/upload");
File file = new File(Environment.getExternalStorageDirectory(),
"video.3gp");
Log.e(LOG_TAG, "setting up multipart entity");
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file);
mpEntity.addPart("fileupload", cbFile);
Log.i("SendLargeFile", "file length = " + file.length());
try {
mpEntity.addPart("name", new StringBody(name));
mpEntity.addPart("email", new StringBody(email));;
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block …Run Code Online (Sandbox Code Playgroud) 是否可以使用postgres中的单个命令删除所有表中的所有行(不破坏数据库),或者在postgres中级联删除?
如果没有,那么如何重置我的测试数据库?
如果我执行 'hg status' 并看到以下内容:
R flash/AC_OETags.js
Run Code Online (Sandbox Code Playgroud)
这似乎意味着那里没有文件,但在某些时候已经删除了一个文件。
我如何“提交”此更改,以便在我执行“hg status”时停止显示?
==更新==
答案似乎是提交文件。实际上,大约有 100 个文件的状态为 R,因为我删除了整个目录树。有人知道如何一次性提交目录树中的所有文件吗?
我不想做 just hg commit,因为还有其他变化。
我继承了一些看起来像这样的Python代码:
name = 'London'
code = '0.1'
notes = 'Capital of England'
ev = model.City(key=key, code=code, name=name or code, notes=notes)
Run Code Online (Sandbox Code Playgroud)
本着学习的精神,我想知道这个name or code论点是怎么回事.这是说'使用,name如果它不为空,否则使用code'?
提供这样的多个可能参数的技术术语是什么,所以我可以在Python文档中阅读它?
谢谢!
我有一个Django书籍数据库,附带交易.在管理界面中,在每个书页上,我想显示每本书附带的交易.
理想情况下,这应该是只读的,无法添加或删除事务.我只想展示一些模特的字段.
在models.py:
class Book(models.Model):
title = models.CharField(max_length=400)
class Transaction(models.Model):
id = models.IntegerField(primary_key=True)
book = models.ForeignKey(Book)
user = models.ForeignKey(User)
transaction_type = models.IntegerField(choices=TRANSACTION_TYPES)
ipaddress = models.IPAddressField(null=True, blank=True)
transaction_date = models.DateTimeField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
get_latest_by = 'transaction_date'
ordering = ('-transaction_date',)
Run Code Online (Sandbox Code Playgroud)
在admin.py:
class TransactionInline(admin.StackedInline):
model = Transaction
readonly_fields = ['user', 'transaction_type', 'transaction_date']
verbose_name = 'Transaction'
verbose_name_plural = 'Book history'
class BookAdmin(admin.ModelAdmin):
fieldsets = [ (None, {'fields': ['title'}) ]
inlines = [ TransactionInline, ]
Run Code Online (Sandbox Code Playgroud)
我有几个问题,都与事务在概念上是只读的事实有关.
这个按键事件对我来说在Chrome和Firefox中运行良好,但在IE7中根本没有被提取:
$(window).keypress(function(e) {
alert('hello world');
});
Run Code Online (Sandbox Code Playgroud)
有谁知道IE7的替代品?
或者它是我的JavaScript中更高的错误,这意味着它没有在IE7中被选中 - 在这种情况下,我该如何调试它?我在IE中打开了脚本错误,但没有出现任何问题.
我正在使用Django管理站点在记录上有一些只读字段:
class BookAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['title', 'library_id', 'is_missing', \
'transactions_all_time']}),
]
readonly_fields = ['transactions_all_time',]
list_display = ('library_id', 'author', 'title')
Run Code Online (Sandbox Code Playgroud)
编辑记录时这很有用 - transactions_all_time字段是只读的,就像我想要的那样.
但是,添加新记录时,它的行为有点奇怪.我在页面底部看到一个只读部分,我无法编辑,此时无关紧要.
如果在添加新记录时根本不存在该字段会好得多.
在添加新记录时是否有任何Django选项不显示只读字段?我知道我可以破解CSS add_form.html来隐藏它,但是有更好的方法吗?
谢谢.
Python/Django中是否有一种方法可以从未在本地运行的应用程序中获取当前登录的Windows用户的用户名?
更新:对不起,澄清一下,我的意思是查看网页的用户的Windows用户名,而不是运行服务器的用户.
我试过了两个:
current_user = os.environ.get("USERNAME")
current_user_getpass = getpass.getuser()
Run Code Online (Sandbox Code Playgroud)
但我认为他们正在返回运行服务器的用户的名字.
谢谢!
进一步更新:我不太关心安全性.用户欺骗用户名真的没关系.重要的是方便.我只需要一种获取用户名的方法,而无需用户使用密码或安装客户端软件.有任何想法吗?
我有一个与形式有关的问题.我的网络应用程序监听条形码阅读器的扫描仪输入.条形码阅读器按以下格式显示为键盘输入:
~100.0101~\n
Run Code Online (Sandbox Code Playgroud)
\n换行符在哪里.我使用带有正则表达式的全局javascript监听器 - 每当监听器'听到'与正则表达式匹配的输入时,我调用我的barcodeHandler()函数.
不幸的是,这与表单没有很好的交互:如果用户在扫描时专注于表单输入,则表单会在听众启动之前提交并回发,因为表单的\n意思是"提交".
我无法更改扫描仪输入,所以有什么方法可以在\n输入时停止提交表单吗?
显然,我仍然希望我的表单能够使用Enter键,如果可能的话我宁愿不改变默认的表单行为!
非常感谢!
直截了当的问题 - 如果它是重复的道歉,但如果是这样我就找不到答案.
我有一个User模型和一个Submission模型,如下所示:
class Submission(models.Model):
uploaded_by = models.ForeignKey('User')
class User(models.Model):
name = models.CharField(max_length=250 )
Run Code Online (Sandbox Code Playgroud)
如何显示模板中每个用户提交的提交数量?我试过了{{ user.submission.count }},像这样:
for user in users:
{{ user.name }} ({{ user.submission.count }} submissions)
Run Code Online (Sandbox Code Playgroud)
但没有运气......
django ×4
python ×3
django-admin ×2
javascript ×2
android ×1
browser ×1
file-upload ×1
forms ×1
html ×1
httpclient ×1
jquery ×1
mercurial ×1
multipart ×1
postgresql ×1