AppFogおよびDjango。 どこから始めますか?

こんにちは、ハブロビテス! 最近、Python、特にDjango Webフレームワークに興味を持ちました。 主な機能に慣れた後、Djangoをサポートする無料のホスティングを探していました。 私はその瞬間にGAEを完全に忘れていたと告白しますが、昨日それについて読んだので、私は選択が悪くないことに気づきました。 AppFogさん、ようこそ! (慎重に、カット写真の下!)


無料のアカウントを作成できるのはなぜですか?



残念ながら、SSHのようなパンは支払わなければなりません。 価格そのもの 。 さて、無料のアカウントを登録し、石鹸の確認キーが付いたメッセージを取得します(このステップで2日目はすでに取得しています)。 その後、アドレスhttps://console.appfog.com/にアクセスして 、アプリケーションを作成します。
http://console.appfog.com


アプリケーションを作成する


[新しいアプリ]ボタンをクリックして、必要なプラットフォームを選択します。 リストが印象的なので、原則として、ここですごい効果を経験しました。 Djangoを選択します。
プラットフォームを選択してください

次に、サーバーの場所を選択する必要があります。 ご覧のとおり、すべてのサーバーが異なるプラットフォームをサポートしているわけではありません。 AWS Europe Westを選択しました。 次に、サイトのドメイン名を入力します。
サーバーを選択し、ドメイン名を入力してください

[アプリの作成]をクリックします。 アプリケーションの作成の「ログ」を表示するページに移動します。
アプリケーション作成

私たちを作成した後、自動的にアプリケーションページに転送されます
申し込みページ

サービス -アプリケーションのサービスを管理できます。
サービス

アドオン -追加機能をインストールできます。 ページが大きいため、リストを示します。
Logentries、Redis Cloud、Xeround、Searchify、MongoHQ、MongoLab、Blitz、ClearDB、MemCachier、Cloudinary、IronMQ、Nexmo、IronWorker、CloudMailin、Mailgun

ソースコードを更新 -少し低い。
ドメイン名 -独自のドメインを追加できます。 しかし... *ドラムロール*無料アカウントでは利用できません。
環境変数 -環境変数を追加できます。
SSL-無料アカウントでは利用できません。
クローン -アプリケーションを別のサーバーにクローンします。
設定-1つのボタン-アプリの削除。

そして今、再び、軟膏のフライ(そのような誰かが)-アプリケーションコードを更新するには、 Rubyaf gemが必要です。 Windowsを使用しているため、インストーラーをプルします。 Rubyインストーラーページに移動し、 インストーラーをダウンロードします。 インストールプロセス中に、RubyへのパスをPath変数に追加する必要があるかどうかを尋ねられます-dawを入力します(経験の浅いユーザーの場合、「プロ」はそれを行わない場合があります)。 そして、はい、注意-AppFog gemはCygwinでは動作しません-ログインを入力するとハングします(トラブル)。

したがって、カットをインストールした後、コンソールを開いて入力します
gem update --system gem install af 

次に、[ソースコードの更新]ページに移動して、[ソースコードのダウンロード]ボタンをクリックします(注意深い人は、このボタンが草刈りヘッダーにもあることにすでに気付いています)。 彼らは私たちにコードが付いたzipを提供します。 それをフォルダに展開し、コンソールから入力します。 次に、AppFogにログインする必要があります。
 af login [WARNING] DL is deprecated, please use Fiddle Attempting login to [https://api.appfog.com] Email: youremail@example.com Password: ************** Successfully logged into [https://api.appfog.com] 


以下は、私と同じザリガニについて書かれています:)


それでは、コードを変更しましょう。 まず、 setting.pyを開き、次の変更を行います。

次に、views.pyを作成して書き込みます。
views.py
 from django.shortcuts import render_to_response def index(request): return render_to_response('index.html') 

urls.pyを開き、次の変更を行います。
urls.py
 from django.conf.urls.defaults import patterns, include, url import settings from views import * urlpatterns = patterns('', url(r'^$', index), (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), #       ) 

テンプレートフォルダーにbase.htmlファイルを作成し、フォームに追加します
base.html
 <!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock %}</title> </head> <body> {% block content %}{% endblock %} </body> </html> 

index.htmlファイルを変更します
index.html
 {% extends "base.html" %} {% block title %}Django page{% endblock %} {% block content %} <h1>Welcome to habratest Django page!</h1> {% endblock %} 

そして、404.htmlファイルを作成します
404.html
 {% extends "base.html" %} {% block title %}404{% endblock %} {% block content %} <h1>404 ERROR</h1> {% endblock %} 

同様に、500個のエラーのテンプレートを作成できます。

更新アプリケーション


すべての操作の後、アプリケーションをクラウドにダウンロードする必要があります。 私たちは再びコンソールに行き、書きます
 af update habratest [WARNING] DL is deprecated, please use Fiddle Uploading Application: Checking for available resources: OK Packing application: OK Uploading (5K): Push Status: OK Stopping Application 'habratest': OK Staging Application 'habratest': ... Staging Application 'habratest': OK Starting Application 'habratest': .. Starting Application 'habratest': OK 

完了後、 habratestに移動してページを表示します。 :)おめでとう、あなたはクラウドで最もシンプルなアプリが欲しかった!

あとがきの代わりに


データベースの接続と操作に関する情報が不足していることをおaびします。Djangoの勉強を始めたばかりで、まだデータベースを使用していません。
誰かがアカウントを登録したくない場合-このテストアカウントからデータを提供できます。PMに書き込みます。
ご清聴ありがとうございました。疲れないことを願っています。

Source: https://habr.com/ru/post/J176607/


All Articles