下面是我项目中django代码的简化版本; 它允许用户上传文件并给它一个标题.此功能非常有效.但是,当用户稍后重新编辑表单时,会重新显示文件和标题,但是当用户提交文件时会清空文件.重新打开以进行编辑的表单的文件字段如下所示:
目前: media_location/uploadedfile.mp3
更改: [选择文件]无文件选择
在我提交之后,它是:
- 此归档是必需的
[选择文件]无文件选择
如何获取它以便用户不必重新上载文件?对于我来说,一旦提交完成后字段是否只读,或者它是否仍然可编辑并不重要.完成的项目不适用于客户端,只能供一小组可信用户使用,但我仍希望尽可能遵循最佳实践.谢谢你的帮助.
Django代码:
models.py
class Recording(models.Model):
rec_title=models.CharField(max_length=200,blank=True)
rec_file = models.FileField(upload_to='recordings')
Run Code Online (Sandbox Code Playgroud)
forms.py
from django import forms
from songstorage.models import Recording
class RecordingForm(forms.ModelForm):
rec_file=forms.FileField(label='Upload File')
rec_title=forms.CharField(label='Recording Title',required=False)
class Meta:
model=Recording
Run Code Online (Sandbox Code Playgroud)
views.py
def addrecordings(request,recordingfile):
#if there is a recordingfile in the url, the user is editing...
if recordingfile:
recording=Recording.objects.get(rec_title=recordingfile)
recording_form = RecordingForm(instance=recording)
#...Otherwise a new form is createing a new one
else:
recording_form = RecordingForm(request.POST, request.FILES)
#When the form is submitted, do the following:
if …Run Code Online (Sandbox Code Playgroud) 在做基础java swing程序的时候,我有一个奇怪的错误,我只在我的电脑上(我试过另外两个,一切都很好).
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class ModalDialogsTest extends JFrame implements ActionListener{
private JButton choice;
ModalDialogsTest(){
setSize(400,300);
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
choice = new JButton("My button");
panel.add(choice);
choice.addActionListener(this);
}
public void actionPerformed(ActionEvent event){
simpleStringChoiceDialog();
}
private void simpleStringChoiceDialog(){
Object[] possibilities = {"choice 1", "choice 2", "choice 3"};
String s = (String)JOptionPane.showInputDialog(
this, null, null,
JOptionPane.PLAIN_MESSAGE, null,
possibilities, possibilities[0]);
System.out.println(s);
}
public static void main(String[] args) …Run Code Online (Sandbox Code Playgroud)
我已经尝试了几个小时来使我的macbook上的java 3d工作,我无法弄清楚它有什么问题...这就是我所做的:
- 我下载了java3d 1.5并替换了/中的原始文件系统/图书馆/的Java /扩展.
- 然后我按照相同(...)/ Java/Extensions文件夹中的教程安装了JOGL.
- 因为它仍然无法工作,我决定尝试原始版本的java3d,所以我重命名了文件.
我正在使用java 1.7.0_07在Mac OS x山狮上工作这是java -version的结果:
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
这是我的Java/extensions文件夹的内容:
AppleScriptEngine.jar gluegen-rt.jar j3dutils.jar.new libAppleScriptEngine.jnilib libgluegen-rt.jnilib libnewt.jnilib
MRJToolkit.jar j3daudio.jar jai_codec.jar libJ3D.jnilib libjogl_desktop.jnilib mlibwrapper_jai.jar
QTJava.zip j3dcore.jar jai_core.jar libJ3DAudio.jnilib libmlib_jai.jnilib vecmath.jar
dns_sd.jar j3dcore.jar.new jogl-all.jar libJ3DUtils.jnilib libnativewindow_awt.jnilib vecmath.jar.new
gluegen-java-src.zip j3dutils.jar jogl-java-src.zip libQTJNative.jnilib libnativewindow_macosx.jnilib
Run Code Online (Sandbox Code Playgroud)
我可以使用javac编译java 3d代码,但这是我尝试启动时的结果:
$> java Hello3d
JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
AWT …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Karma在django/angularjs应用程序上进行一些基本的端到端测试(e2e),我得到一个奇怪的错误.
这是我的测试代码:
# testacular-e2e.conf.js
describe('Log in tests', function() {
it('should show the disconnected home', function() {
browser().navigateTo('/#');
expect(browser().location().url()).toBe('/#');
});
});
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到以下输出:
[DEPRECATED ERROR - 仅供参考]
$> karma start testacular-e2e.conf.js [2013-04-30 22:19:26.465] [WARN] config - "/"被代理,您应该更改urlRoot以避免冲突[2013-04-30 22:19:26.467] [DEBUG] config - autoWatch设置为false,因为singleRun INFO [karma]:Karma服务器在http开始://local.host:9876 /
INFO [launcher]:启动浏览器PhantomJS INFO [PhantomJS 1.9(Mac)]:连接套接字ID cwhp0lnTraNa4ToQ0HkS PhantomJS 1.9(Mac)登录测试应显示断开连接的主页FAILED TypeError:'undefined'不是函数(评估'$ document.injector()')PhantomJS 1.9(Mac):执行1 of 1(1 FAILED)(0.098秒/0.04秒)
任何人都可以帮忙吗?
提前致谢 :)
编辑:这是我的Karma配置文件:
// Karma configuration
// base path, that will be used to resolve files and exclude
basePath …Run Code Online (Sandbox Code Playgroud) java ×2
angularjs ×1
django-forms ×1
java-3d ×1
java-7 ×1
javascript ×1
karma-runner ×1
macos ×1
swing ×1
unit-testing ×1