3

過去 2 日間から、Cloudfiles を自分のプロジェクトで (cumulus を使用して) 機能させようとして、文字通り忍耐力を失いました。以下にいくつかの問題を示します。

1.) 時々、管理者を使用して写真をアップロードすると (モデルの作成と管理者への登録)... 写真はアップロードされたように見えますが、Photo.objects.all() によるビュー関数を使用してアクセスしようとすると、またはcloudfiles コントロール パネルに行っても...画像が開かないだけです。リソースが見つかりません。地域(シカゴがデフォルトです)の設定が私を悩ませているかどうかを確認して再確認します....しかし、そうは思いません。

2.) collectstatic メソッドを使用して、コンテナー内のすべての静的ファイルを正常に収集し、それらを正常に提供できました。リンクをクリックしたときの事実(たとえば)

私は結果を見ることができ、あなたもそれを見ることができると確信しています。

しかし、テンプレートで STATIC_URL でそれらを使用しようとすると、管理ページには css が機能していませんが、ログイン/ホームページは私のスタイルで完全にレンダリングされています。

ここに私の設定ファイル/私のビュー機能と重要なものがあります-

STATIC_ROOT = ''
STATIC_URL = 'http://ed770b871265201bf471-14f03984d90730040890dd30a2d85248.r68.cf2.rackcdn.com/'
STATICFILES_DIRS = (
    os.path.join(PROJECT_DIR,'static'),
)

CUMULUS = {
    'USERNAME': '***',
    'API_KEY': '****',
    'CONTAINER': 'photos',
    'STATIC_CONTAINER':'static',
    'SERVICENET': False, # whether to use rackspace's internal private network
    'FILTER_LIST': [],
    'TIMEOUT' : 60
}
DEFAULT_FILE_STORAGE = 'cumulus.storage.CloudFilesStorage'
STATICFILES_STORAGE = 'cumulus.storage.CloudFilesStaticStorage'

モデルファイル部分

class Photo(models.Model):
    username = models.ForeignKey(User)
    image = models.ImageField(upload_to='photos')
    alt_text = models.CharField(max_length=255)

admin.site.register(Photo)
4

2 に答える 2

0

画像はありますが、期待した場所にない可能性があります。

現在のサイトへのリンク:

http://d12df125d01b8a258a3a-8112fdc02f7d385b44f56eb9e899d81c.r88.cf2.rackcdn.com/photos/Penguins.jpg

画像/ファイルが実際にある場所:

http://d12df125d01b8a258a3a-8112fdc02f7d385b44f56eb9e899d81c.r88.cf2.rackcdn.com/photos%5CPenguins.jpg

%5Cでは\なく です/。これらはキーであるため、これにより違いが生じます(キーは「パス」であり、値はファイルです)。これらがどのようにアップロードされたかを確認し、通常のスラッシュに正規化することをお勧めします (これらは Windows マシンにいる間にアップロードされましたか?)。

于 2013-07-22T03:27:06.087 に答える
0

これは、カイルに要求されたビュー機能です。

def profile_detail(request):
        if request.user.is_authenticated():
            username = request.user.get_username()
            # userid = User.objects.get(username=username).values('__id')
            userdetails = User.objects.filter(username=username)
            photo = Photo.objects.get(username=request.user.id)
            return render_to_response('profile_detail.html',{'userdetails':userdetails,'username':username,'photo':photo},
                                        context_instance=RequestContext(request))

そして profile_detail のテンプレート -

{% extends 'profile.html' %}

{% load bootstrap_toolkit %}

{% block content %}

    <img src="{{ photo.image.url }}" alt="{{ photo.alt_text }}" />
    <br>
    <p>{{ user.first_name }}</p>
    <p>{{ user.last_name }}</p>
    <p>{{ user.email }}</p>

{% endblock %}

ホストされているサイト(本番)で画像を表示できることを確認しました(方法がわからない)が、開発環境ではまだ表示できません。

カイル、テスト アカウントの「MYProfile」ページにペンギンの写真があるかどうか確認してもらえますか? :) 調べてくれてありがとう:)

于 2013-07-20T04:02:14.263 に答える