2012-06-19 25 views
5

Sorunumun oldukça basit olması ve umutsuzca düzeltilmesi gereken bir şeyden daha fazla ilgi konusu olması gerekiyor. Google aradığım yanıtı bana veremedi, umarım uzmanlığınız bana yardımcı olabilir.Django ve Kereviz: admin görev listesi değerleri göstermiyor

Django 1.4 
Celery 2.5.5 
Redis 2.4.10 (latest version on homebrew?) 

Ve follwing komutları kullanarak her şeyi çalıştırıyorum: Ben kullanıyorum ile

import djcelery 
djcelery.setup_loader() 

BROKER_URL = redis 
CELERY_RESULT_BACKEND = 'redis' 
CELERY_REDIS_HOST = "localhost" 
CELERY_REDIS_PORT = 6379 
CELERY_REDIS_DB = 0 

CELERY_SEND_TASK_ERROR_EMAILS = True 
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' 
CELERY_TASK_RESULT_EXPIRES = 172800 # 48 hours. 

: Ben aşağıdaki yapılandırma Kereviz için ayarladığınız benim settings.py içinde

redis-server /usr/local/etc/redis.conf 
foreman run python manage.py runserver 
foreman run "python manage.py celeryd -E -B --loglevel=INFO" 
foreman run python manage.py celerycam 

Bu yapılandırma her şey çalışıyor gibi görünüyor, bir şey dışında:

Django-kereviz ile bir otomatik olarak django admin (düzgün!) kereviz entegrasyonu olsun, zaman aşımına uğradı ve yeni görevleri zamanlama tüm görevlerin durumunu kontrol edebilirsiniz.

admin görev listesinde, hiçbir değer görüntülenir, yani tüm değerler Yoktur. bir değeri tıkladığımda detayları görebiliyorum, böylece doğru şekilde toplandıklarına benziyor. Bu sadece bir detay ama beni çok rahatsız ediyor.

Listede bu değerleri göstermemesinin nedeni nedir ve bunu düzeltmek için ne yapabilirim? peşin

Teşekkür

Düzenleme: Eğer gibi tüm değerleri görebileceğiniz gibi ekran görüntüleri Yani burada

, bazı ekran görüntüleri vardır Uuid vb vardır Yok ama görev bitmiş ya henüz Hava görür . İkinci ekran görüntüsünde detay sayfasını (bir göreve tıkladıktan sonra) görebilirsiniz ve burada tüm bilgiler var.

The django-celery admin task list not displaying all values

Ve ikinci resim: Ben de bu var

The detail page of a task displaying all values

+0

"Yönetici listesinde görev listesinde hiçbir değer gösterilmiyor, yani tüm değerler Yok" ifadesiyle ne kastediyorsunuz: durumlarla (STARTED, SUCCESS, FAILURE gibi) görevler görüyor musunuz? Eğer öyleyse, bu celerycam düzgün çalışıyor demektir. Hangi değerler hakkında konuşuyorsunuz? –

+0

lütfen eklediğim resimleri görüyorum –

cevap

2

. Django-kerevizde bir böcek gibi görünüyor. Bunun düzeltilmesini istiyorsanız django-kereviz sürümünüzü güncellemeniz gerekir (this commit django-kerevizde düzeltilmiştir).

return """<span title="%s", style="font-size: %spt;\ 
       font-family: Menlo, Courier; ">%s</span>""" % (
    escape(val[:255]), pt, escape(shortval)).replace("|br/|", "<br/>") 

içine: Eğer (fonksiyonunda fixedwidth içinde djcelery.admin_utils de) Aşağıdaki değiştirirseniz

return ("""<span title="%s", style="font-size: %spt;\ 
        font-family: Menlo, Courier; ">%s</span>""" % (
     escape(val[:255]), pt, escape(shortval))).replace("|br/|", "<br/>") 

sonra değerleri yönetici görünür yoktur.

+0

Ne yazık ki bu bir kahramana izin vermediğinden bir seçenek olmayacak ve pip yerine bunun yerine git clone için bu basit bir şey yapmaz. Umut 2,6 sürümü yakında kararlı olacak! –

+0

Geçerli versiyonda çalışmasını sağlamak için kodu aktarabilirsiniz. –

0

Ben de aynı hatayı aldım. admin_utils.py dosyasının güncellenmesiyle ilgili verilen örnekte hafif bir hata var! Yapmanız gereken değiştirmeler şunlardır:

admin_utils'in en üstünde FIXEDWIDTH_STYLE değerini ekleyin.py:

FIXEDWIDTH_STYLE = '''\ 
<span title="%s", style="font-size: %spt; \ 
font-family: Menlo, Courier; ">%s</span> \ 
''' 

Ve sonra değiştirin: Yukarıdaki github linkte daha net görebiliyorum

styled = FIXEDWIDTH_STYLE % (escape(val[:255]), pt,escape(shortval)) 
return styled.replace("|br/|", "<br/>") 

: With

return """<span title="%s", style="font-size: %spt;\ 
       font-family: Menlo, Courier; ">%s</span>""" % (
    escape(val[:255]), pt, escape(shortval)).replace("|br/|", "<br/>") 

. Mükemmel çalışıyor! Şerefe!