我正在使用带有Bootstrap的simple_form,我希望我的"记住我"复选框位于标签的左侧,如Twitter Bootstrap文档中所示:http://twitter.github.com/bootstrap/base- css.html#形式
我的表单代码如下所示:
<%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => 'well'}) do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :remember_me, :as => :boolean if devise_mapping.rememberable? %>
<%= f.button :submit, "Sign In" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
结果是复选框顶部的"记住我"标签.
我搞砸了什么?
我正在努力实现图书馆MaybeT的精神mtl.使用这种非编译解决方案:
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, UndecidableInstances #-}
import Control.Monad
import Control.Monad.Trans
import Control.Monad.State
newtype MaybeT m a = MaybeT { runMaybeT :: m (Maybe a) }
instance (Monad m) => Monad (MaybeT m) where
x >>= f = MaybeT $ runMaybeT x >>= maybe (return Nothing) (runMaybeT . f)
return a = MaybeT $ return (Just a)
fail _ = MaybeT $ return Nothing
instance MonadTrans MaybeT where
lift m = MaybeT (liftM Just m)
instance …Run Code Online (Sandbox Code Playgroud) 提前致谢 :)
我有这个异步Celery任务调用:
update_solr.delay(id, context)
Run Code Online (Sandbox Code Playgroud)
其中id是整数,上下文是Python字典。
我的任务定义如下:
@task
def update_solr(id, context):
clip = Clip.objects.get(pk=id)
clip_serializer = SOLRClipSerializer(clip, context=context)
response = requests.post(url, data=clip_serializer.data)
Run Code Online (Sandbox Code Playgroud)
其中clip_serializer.datadict url是一个表示url的字符串。
当我尝试致电时update_solr.delay(),出现以下错误:
PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)
任务的两个参数都不是实例方法,所以我很困惑。
任务代码同步运行时,没有错误。
更新:修正了关于传递pk而不是对象的注释。
我正在使用Django REST Framework作为我们的Web API和Solr来支持搜索.Currenlty,在子类中ListAPIView,我重写get_queryset()以获得QuerySetSolr搜索结果:
class ClipList(generics.ListAPIView):
"""
List all Clips.
Permissions: IsAuthenticatedOrReadOnly
Parameters:
query -- Search for Clips. EX: clips/?query=aaron%20rodgers
"""
model = Clip
serializer_class = ClipSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def get_queryset(self):
params = request.GET
query = params.get('query', None)
queryset = Clip.objects.all()
if query is not None:
conn = solr.Solr(settings.SOLR_URL)
sh = solr.SearchHandler(conn, "/select")
response = sh(query)
ids = []
for result in response.results:
ids.append(result['id'])
# filter the initial queryset …Run Code Online (Sandbox Code Playgroud)