小编Yul*_*lia的帖子

以Django Form获取当前用户

可能重复:
以Django格式获取请求数据

我的访客模型的一部分:

class Guest(models.Model):
    event = models.ForeignKey(Event, related_name='guests')
    user = models.ForeignKey(User, unique=True, related_name='guests')
    ...
Run Code Online (Sandbox Code Playgroud)

表格以获得来宾的回复:

class RSVPForm(forms.Form):
    attending_d= forms.ChoiceField(choices=VISIBLE_ATTENDING_CHOICES, initial='yes', widget=forms.RadioSelect)
    attending_b = forms.ChoiceField(choices=VISIBLE_ATTENDING_CHOICES, initial='yes', widget=forms.RadioSelect)
    number_of_guests = forms.IntegerField(initial=0)
    comment = forms.CharField(max_length=255, required=False, widget=forms.Textarea)

    ....    

    def save(self):
        guest = self.guest_class.objects.get(user=1)
        guest.attending_status_d = self.cleaned_data['attending_d']
        guest.attending_status_b = self.cleaned_data['attending_b']
        guest.number_of_guests = self.cleaned_data['number_of_guests']
        guest.comment = self.cleaned_data['comment']
        guest.save()
        return guest
Run Code Online (Sandbox Code Playgroud)

问题出在save方法中.如何将访客与当前登录的用户相关联?

guest = self.Guest.objects.get(user=1)
Run Code Online (Sandbox Code Playgroud)

而不是user=1我需要具有当前登录用户的id.

谢谢!

django-forms django-users

30
推荐指数
1
解决办法
3万
查看次数

如何为Chrome构建远程Webdriver

我正在尝试针对Chrome运行我的Selenium测试.当我在本地初始化驱动程序时:

@driver = Selenium::WebDriver.for( :chrome )
Run Code Online (Sandbox Code Playgroud)

一切正常(我已将Chrome二进制文件放在我的PATH上)但是当我尝试远程启动时:

@driver = Selenium::WebDriver.for(:remote, :url => 'http://' + SELENIUM_HOST + port + webdriver_hub, :desired_capabilities => :chrome)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

Selenium :: WebDriver :: Error :: UnhandledError:chromedriver可执行文件的路径必须由webdriver.chrome.driver系统属性设置; 有关详细信息,请参阅 http://code.google.com/p/selenium/wiki/ChromeDriver.最新版本可以从http://code.google.com/p/chromium/downloads/list下载 (java.lang.IllegalStateException)

我在那里有点困惑 - 我究竟应该如何设置这个系统属性?我发现这个代码用Java编写:

DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setJavascriptEnabled(true);
caps.setCapability("chrome.binary", "/path/to/where/chrome/is/installed/chrome.exe");
System.setProperty("webdriver.chrome.driver","/path/to/where/you/ve/put/chromedriver.exe");
ChromeDriver driver = new ChromeDriver(caps);
Run Code Online (Sandbox Code Playgroud)

但我的测试是用Ruby编写的.RubyBindings没有谈论这个问题 http://code.google.com/p/selenium/wiki/RubyBindings

ruby selenium google-chrome webdriver

9
推荐指数
1
解决办法
2万
查看次数

如何在Ruby编写的Webdriver测试中执行JavaScript?

是否有已知的解决方案在Webdriver,Ruby绑定中执行Eval(Javascript执行)?

相当于Java中的以下示例.

 WebElement element = driver.findElement(By.id( "foo" ));
 String name = (String) ((JavascriptExecutor) driver).executeScript(
 "return arguments[0].tagName" , element)
Run Code Online (Sandbox Code Playgroud)

javascript ruby selenium webdriver

9
推荐指数
1
解决办法
1万
查看次数

删除Webdriver中的cookie

.delete_all_visible_cookiesSelenium 有一种方法.我很惊讶地发现.delete_all_cookies在Webdriver中是私有API的一部分,因此无法通过@driver实例访问.

对于IE来说这是一个问题,因为它不会在新的测试运行中以FF形式启动干净的浏览器.

selenium internet-explorer webdriver

5
推荐指数
2
解决办法
1万
查看次数

将方法传递给Ruby中的Proc

在Ruby中,符号可以方便地转换为Proc,例如:

%{john terry fiona}.map(&:capitalize)   # -> %{John Terry Fiona}
Run Code Online (Sandbox Code Playgroud)

有没有办法将方法传递给Proc,以缩短以下代码:

["john", "terry", "fiona"].each do |n|
  assert n.valid_encoding?
end
Run Code Online (Sandbox Code Playgroud)

谢谢.

ruby

3
推荐指数
1
解决办法
525
查看次数

在Ruby中创建一个数组

我是Ruby的初学者,可能这个问题太容易了,但是我已经花了一些时间在它上面找不到解决方案.我的Ruby脚本采用数字(ex 10)和名称(ex Vincent).我想要的是使阵列看起来像

Vincent0
Vincent1.. 
Vincent9
Run Code Online (Sandbox Code Playgroud)

我无法想办法让它成为现实.

ruby arrays

1
推荐指数
1
解决办法
467
查看次数

如何在Ruby中的方法之间传递变量?

新手红宝石问题.

我上课了

class ReportPage < Page

def badge_item(item_int)
  case item_int
  when 1..50   then @item= 1
  when 50..100  then @item= 50
end

def check_completed_items_badge  
  badge_item(50)
  puts @item
end
end
Run Code Online (Sandbox Code Playgroud)

果然,它没有.这就是我的问题 - 如何在类的另一个方法中使用@item变量?

非常感谢!

ruby

1
推荐指数
1
解决办法
2905
查看次数

在Webdriver中获取cookie如何?

获取cookie的Webdriver Ruby绑定中有一个方法:

(Array<Hash>) all_cookies
Run Code Online (Sandbox Code Playgroud)

以下描述:

返回:

* (Array<Hash>) — list of cookies
Run Code Online (Sandbox Code Playgroud)

请问,请举例说明其用法.谢谢!

ruby selenium selenium-webdriver

1
推荐指数
1
解决办法
9132
查看次数