我是网络开发的真正初学者.以下代码在is_valid()检查时失败.但我不明白为什么:表单应该从POST数据中填充数据?
模型:
class Statement(models.Model):
text = models.CharField(max_length=255)
user = models.ForeignKey(User)
time = models.DateField()
views = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
的ModelForm:
class StatementForm(ModelForm):
class Meta:
model = Statement
widgets = {
'time':forms.HiddenInput(),
'user':forms.HiddenInput(),
'views':forms.HiddenInput(),
}
Run Code Online (Sandbox Code Playgroud)
查看功能:
def new(request):
if request.method == 'POST': # If the form has been submitted...
form = StatementForm(request.POST) # A form bound to the POST data
if form.is_valid():
stmt = form.save()
path = 'stmt/' + stmt.id
return render_to_response(path, {'stmt': stmt})
else:
c = {}
c.update(csrf(request))
loggedin_user = request.user …Run Code Online (Sandbox Code Playgroud) 在一个应用程序中,我使用Android KeyStore.我已经为整个KeyStore和每个密码条目设置了密码.由于这些密码是字符串,因此它们存储在代码中的字符串成员中
如果我想发布应用程序,这显然不安全,因为潜在的攻击者可以反编译apk并获取密码,因为它在应用程序中是硬编码的.
我的问题是:
编辑以进行清除:我不是谈论应用程序签名,而是关于将密码密钥存储在受密码保护的Android KeyStore中.应用程序必须在运行时访问密码才能检索密钥条目.
当前代码示例:
String keyStorePwd = "password1";
String keyEntryPwd = "password2";
FileInputStream fis = getApplicationContext().openFileInput("sms.keystore");
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(fis, keyStorePwd.toCharArray());
SecretKey key = (SecretKey) ks.getKey("aes_key_sms_notifier", keyEntryPwd.toCharArray());
fis.close();
Run Code Online (Sandbox Code Playgroud) 我尝试添加一个 COM 控件。我采取的步骤:
1. 右键单击工具箱
2. 选择 COMComponents 选项卡,然后出现“Adobe PDF Reader”
3. 单击“确定”按钮
4. 现在尝试将 Adobe PDF Reader 控件拖放到 UserControl 中 --> 失败错误:
"Failed to create component 'AxHost'. The error message follows: 'System.Runtime.InteropServices.COMException (0x80004005): A wrapper assembly is not registrated for this type library.
at
System.Windows.Forms.Desgn.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost host)
at
System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost host, IDictionary defaultValues)
at
System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost host, IDictionary defaultValues)
at
System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem tool, Control parent, Int32 x, Int32 y, Int32 width, Int32 heigth, Boolean hasLocation, Boolean hasSize, ToolboxSnapDragDropEventArgse)'"
我现在能做什么?
提前感谢每一位回答。
问候,乔
我用C#编写了一个程序.现在我完成了所有功能,它的工作原理.但只能用一个线程运行.我正在进行大量计算,有时会将大约300 MB或更多的测量文件加载到应用程序中.
我现在想要使程序多线程,因为在激烈处理或i/o操作时用户体验非常糟糕.
重构程序的最佳方法是什么,以便可以在不太多的情况下制作多线程?我知道这是我之前想要的东西.但我没有.
我使用单例模式来处理大约3个重要的模块,这些模块几乎涉及程序的所有其他功能.
我使用了或多或少干净的MVC(模型视图控制)架构.所以我想知道是否有可能让用户界面在一个线程中运行而另一个应用程序在另一个线程中运行.
如果没有,加载和解析300MB,创建对象大约需要3分钟才能完成.在这个时候,用户没有得到GUI的响应.:/
更新:我的单身人士被用作一种存储空间.一个单例保存已解析的测量文件的对象,而另一个单例保存结果.我有不同的计算,它使用相同的测量文件并创建他们想要使用其他单例保存的结果.这是一个问题.
第二个是让人回应用户操作或至少避免窗口没有响应的警告.
谢谢大家的所有建议.我会试试看.对不起,我很抱歉.