我希望能够跟踪文件,看看哪个进程正在触摸该文件.那可能吗?我知道我可以在活动监视器中看到打开进程的列表,但我认为很快就能让我看到它.原因是我正在使用框架,我认为正在使用框架的系统版本而不是调试版本,我想看看哪个进程正在触及它.
我希望有一个变量,我可以通过导入头文件访问任何地方,但我也希望它是静态的,因为它只创建了一个.在我的.m文件中,我指定
static BOOL LogStuff = NO;
Run Code Online (Sandbox Code Playgroud)
在initialize方法中我设置了日志记录值:
+ (void)initialize
{
LogStuff = ... //whatever
}
Run Code Online (Sandbox Code Playgroud)
但是我希望能够通过导入.h文件在任何地方访问我的变量,所以我想做这样的事情:
static extern BOOL LogStuff;
Run Code Online (Sandbox Code Playgroud)
但我不允许这样做.有可能做我想做的事吗?谢谢
我正在尝试为我的Django应用程序实现用户注册.我读过的那本书提到了UserCreationForm,但我需要的不仅仅是名称,密码和电子邮件地址.我可以实现自己的用户对象并使用ModelForm,但后来我失去了一些django方便的身份验证.最后,我读了一些关于UserProfiles的内容,我想补充用户,所以我想我需要所有这些东西的组合.这是我到目前为止所拥有的.
查看 - 这很简单.我想在这里做的就是创建我的表单并保存用户
def main(request):
rform1 = forms.RegisterForm1()
rform2 = forms.RegisterForm2()
return render_to_response("authentication/index.html", {'form1': rform1, 'form2':rform2})
def register(request):
if request.method == 'POST':
rform1 = forms.RegisterForm1(request.POST)
rform2 = forms.RegisterForm2(request.POST)
if rform1.is_valid() and rform2.is_valid():
new_user = rform1.save()
return HttpResponseRedirect("/register-success/")
return render_to_response("authentication/index.html", {'form1': rform1,'form2':rform2})
Run Code Online (Sandbox Code Playgroud)
表单 - 这是我创建用户的表单.或者至少是它的开始
class RegisterForm1(forms.ModelForm):
class Meta:
model = User
class RegisterForm2(forms.ModelForm):
class Meta:
model = UserProfile
Run Code Online (Sandbox Code Playgroud)
模型 - 这是我想要用户补充的UserProfile.
class UserProfile(models.Model):
user = models.OneToOneField(User)
phonenumber = PhoneNumberField()
Run Code Online (Sandbox Code Playgroud)
是否清楚我要做什么?我是在正确的轨道上
我正在尝试做这样简单的事情:
members = models.ManyToManyField(User,blank=True,null=True,unique=True)
Run Code Online (Sandbox Code Playgroud)
但不允许有独特之处.在查看创建的表时,它会使外键如此独特,这是我想象的.
我希望能够将成员与代表组的此模型相关联.该组可以没有成员,但我不希望同一成员能够两次加入该组.
我的想法是,如果我尝试这样做会抛出异常,但似乎没有抛出异常.
def join(request,id):
user = request.user
mygroup = Group.objects.get(id=id)
mygroup.members.add(user)
mygroup.num_members+=1
mygroup.save()
Run Code Online (Sandbox Code Playgroud)
num_members递增,因为不会抛出异常.重复的用户不会出现在管理实用程序中.add()是否会无声地失败?我应该只是在添加之前检查用户是否已被包含?
谢谢!
尝试从教程中创建一个简单的表单时,我收到CSRF验证失败消息.我对CSRF验证实际上做了一些研究,据我所知,为了使用它你需要在你的html中使用其中一个csrf_token标签,但我没有
这是我的模板:
<form action="/testapp1/contact/" method="post">
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
相当简单,位于contact.html
这是我的urlconf:来自django.conf.urls.defaults import*
urlpatterns=patterns('testapp1.views',
(r'^$', 'index'),
(r'^contact/$','contact')
)
Run Code Online (Sandbox Code Playgroud)
应用名称为testapp1.当我输入我的网址(http:// localhost:8000/testapp1/contact)时,我正确地转到表单.然后,当我提交表单时,我收到验证错误.
这是我的观点,虽然我不认为它是相关的:
def contact(request):
if request.method == 'POST': # If the form has been submitted...
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
sender = form.cleaned_data['sender']
cc_myself = form.cleaned_data['cc_myself']
recipients = ['info@example.com']
if cc_myself:
recipients.append(sender)
print 'Sending Mail:'+subject+','+message+','+sender+','+recipients
return HttpResponseRedirect('/thanks/') # Redirect …Run Code Online (Sandbox Code Playgroud) 真的,过滤器和拦截器之间有什么区别?我意识到拦截器会在动作之前和之后触发,递归,并且过滤器可以配置为触发动作和某些url模式.但是你怎么知道何时使用每一个?
在我正在阅读Struts 2的书中,似乎拦截器正在被推动,我甚至按照教程编写了一个Authentication Interceptor以确保用户已登录.但是,如果用户试图访问一个不能访问的URL没有与之关联的动作,拦截器没有抓住它,这意味着我必须将动作与我想要保护的每个jsp相关联.这似乎不对.
我可以创建一个处理URL的身份验证过滤器,这样我就不必这样做了,但那么,拦截器有什么意义呢?
我已经阅读了一些关于Objective-C代表的文章和阅读材料,试图理解它们.来自Java,他们看起来非常像Java听众.例如,假设我在Java中有一个按钮.当按下按钮时,我想要发生一些事情.我的代码可能看起来像这样:
ButtonListener myButtonListener = new ButtonListener();
someButton.addActionListener(myButtonListener);
...
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
Run Code Online (Sandbox Code Playgroud)
这样的事情.在objective-c中,似乎我会按照为我的按钮调用setDelegate方法并将"侦听器"作为委托传递给它做一些事情.然后,实际的按钮类可能会检查该委托是否响应某个选择器(即actionPerformed).如果我以正确的方式思考这个问题,那么代表就像听众一样.那是对的吗?有什么重大差异吗?
谢谢!
当我尝试提交表单时,我收到了'密码'的KeyError.
跟踪:
Request Method: POST
Request URL: http://localhost:8000/register/
Django Version: 1.2.1
Python Version: 2.7.0
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'djangoproject1.authentication']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
100. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\jec23\My Java Projects\djangoproject1\src\djangoproject1\authentication\views.py" in register
20. if rf.is_valid() and pf.is_valid():
File "C:\Python27\lib\site-packages\django\forms\forms.py" in is_valid
121. return self.is_bound and not bool(self.errors)
File "C:\Python27\lib\site-packages\django\forms\forms.py" in _get_errors
112. self.full_clean()
File "C:\Python27\lib\site-packages\django\forms\forms.py" in full_clean
268. self._clean_form()
File "C:\Python27\lib\site-packages\django\forms\forms.py" in _clean_form
296. self.cleaned_data = self.clean()
File "C:\Users\jec23\My Java …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个脚本来导入数据库文件.我编写了脚本来导出文件,如下所示:
import sqlite3
con = sqlite3.connect('../sqlite.db')
with open('../dump.sql', 'w') as f:
for line in con.iterdump():
f.write('%s\n' % line)
Run Code Online (Sandbox Code Playgroud)
现在我希望能够导入该数据库.我试过了 :
import sqlite3
con = sqlite3.connect('../sqlite.db')
f = open('../dump.sql','r')
str = f.read()
con.execute(str)
Run Code Online (Sandbox Code Playgroud)
但我不允许执行多个声明.有没有办法让它直接运行SQL脚本?