2013-09-27 2 views
1

기존 피라미드 프로젝트에 멋진 관리 인터페이스를 추가하려고합니다. pcreate -s alchemy -s pyramid_fa fa_test을 사용하여 테스트 프로젝트를 만든 다음 내 프로젝트에 생성 된 모든 추가 파일을 복사하여 적합하도록 변경했습니다. 그런 다음기존 피라미드 앱에 관리 인터페이스 추가

config.formalchemy_model("/foo", package='bar', 
         model='bar.models.specific_models.Thingy', 
         **settings) 

내가 얻을 : ImportError: No module named forms

내 질문은 :이 어떻게 해결합니까 나는 formalchemy 경로를 추가 할 때까지

모든 좋은 멋쟁이 것 같아요? 또는 관리 인터페이스를 추가하는 올바른 방법은 무엇입니까?

fainit.py :

from bar import models, faforms 
import logging 

def includeme(config): 
    config.include('pyramid_formalchemy') 
    config.include('bar.fainit') 
    config.include('fa.jquery') 
    config.include('pyramid_fanstatic') 
    model_view = 'fa.jquery.pyramid.ModelView' 
    session_factory = 'bar.models.access.DBSession' 
    ## register session and model_view for later use 
    settings = {'package': 'bar', 
       'view': model_view, 
       'session_factory': session_factory, 
       } 
    config.registry.settings['bar.fa_config'] = settings 

    config.formalchemy_admin("/admin", models=models, forms=faforms, 
          **settings) 

    # Adding the package specific routes 
    config.include('shop.faroutes') 
    log.info('formalchemy_admin registered at /admin') 

faroutes.py

from bar import models 
import logging 
log = logging.getLogger(__name__) 

def includeme(config): 
    settings = config.registry.settings.get('shop.fa_settings}}', {}) 

    config.formalchemy_model("/alerts", package='shop', 
          model='shop.models.super_models.Alert', 
          **settings) 

    log.info('shop.faroutes loaded') 

나는 아무 소용이 무리 주위에 검색 좀했습니다 ... 여기

은 관련 코드입니다 그리고 추적 :

Starting subprocess with file monitor 
Traceback (most recent call last): 
    File "../bin/pserve", line 9, in <module> 
    load_entry_point('pyramid==1.5a1', 'console_scripts', 'pserve')() 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/scripts/pserve.py", line 51, in main 
    return command.run() 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/scripts/pserve.py", line 316, in run 
    global_conf=vars) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/scripts/pserve.py", line 340, in loadapp 
    return loadapp(app_spec, name=name, relative_to=relative_to, **kw) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 247, in loadapp 
    return loadobj(APP, uri, name=name, **kw) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 272, in loadobj 
    return context.create() 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 710, in create 
    return self.object_type.invoke(self) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/loadwsgi.py", line 146, in invoke 
    return fix_call(context.object, context.global_conf, **context.local_conf) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/PasteDeploy-1.5.0-py2.7.egg/paste/deploy/util.py", line 56, in fix_call 
    val = callable(*args, **kw) 
    File "/home/sheena/WORK/tv_guys_env/shop/shop/__init__.py", line 30, in main 
    includeme(config) 
    File "/home/sheena/WORK/tv_guys_env/shop/shop/fainit.py", line 8, in includeme 
    config.include('shop.fainit') 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/config/__init__.py", line 778, in include 
    c(configurator) 
    File "/home/sheena/WORK/tv_guys_env/shop/shop/fainit.py", line 24, in includeme 
    config.include('shop.faroutes') 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/config/__init__.py", line 778, in include 
    c(configurator) 
    File "/home/sheena/WORK/tv_guys_env/shop/shop/faroutes.py", line 12, in includeme 
    **settings) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/util.py", line 507, in wrapper 
    result = wrapped(self, *arg, **kw) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid_formalchemy-0.4.4-py2.7.egg/pyramid_formalchemy/__init__.py", line 58, in formalchemy_model 
    view=view, models=[model], model=model, **kwargs) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid_formalchemy-0.4.4-py2.7.egg/pyramid_formalchemy/__init__.py", line 85, in formalchemy_admin 
    forms = config.maybe_dotted('%s.forms' % package) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/config/__init__.py", line 848, in maybe_dotted 
    return self.name_resolver.maybe_resolve(dotted) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/path.py", line 316, in maybe_resolve 
    return self._resolve(dotted, package) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/path.py", line 323, in _resolve 
    return self._zope_dottedname_style(dotted, package) 
    File "/home/sheena/WORK/tv_guys_env/local/lib/python2.7/site-packages/pyramid-1.5a1-py2.7.egg/pyramid/path.py", line 372, in _zope_dottedname_style 
    __import__(used) 
ImportError: No module named forms 
+0

아마도이 [sacrud] (https://github.com/uralbash/sacrud)가 충분할 것입니다. – uralbash

답변

0

shop.faroutes.forms에 양식 모듈을 만드는 것이 좋습니다.

+0

비계가 작동합니다 ... http://docs.formalchemy.org/pyramid_formalchemy/의 지침에 따라 잘 작동합니다. 그것은 질문에 묘사 된대로 faroutes를 생성합니다. – Sheena