Anonymous avatar Anonymous committed 0ca0fb4

Colorized with pygments.

Comments (0)

Files changed (2)

Add a comment to this file

django-hack-a-thon-get-handson.pdf

Binary file modified.

django-hack-a-thon-get-handson.txt

 http://code.google.com/p/app-engine-patch/
 から app-engine-patch-sample-1.0.zip をダウンロードします。
 
-解凍した app-engine-patch-sample ディレクトリをコピーして使いましょう。::
+解凍した app-engine-patch-sample ディレクトリをコピーして使いましょう。
+
+.. code-block:: console
 
     $ cp -r app-engine-patch-sample handson
 
 アプリを動かす
 --------------
 
-このままで色々動かす事ができます。興味があったら試してみましょう。::
+このままで色々動かす事ができます。興味があったら試してみましょう。
+
+.. code-block:: console
 
     $ cd handson
     $ python manage.py runserver
 
 * settings.py の INSTALLED_APPS にて myapp, registration, mediautils を
   外します。
-* それらのディレクトリは消してしましましょう::
+* それらのディレクトリは消してしましましょう
     
+.. code-block:: console
+
     $ rm -rf myapp registration
 
 mac で X-MAC-JAPANESE 関係の Exception が出る場合
 -------------------------------------------------
 
-settings.py の冒頭で下記のようにします::
+settings.py の冒頭で下記のようにします
+
+.. code-block:: python
 
     def register_x_max_ja():
         "workaround of 'Caught an exception while rendering: unknown encoding: X-MAC-JAPANESE'"
 poll アプリケーションを作成していきましょう。
 --------------------------------------------
 
-* manage.py を使って poll アプリケーションを作成します。::
+* manage.py を使って poll アプリケーションを作成します。
+
+.. code-block:: console
 
     $ python manage.py startapp polls
 
-* urls.py を下記のように直します。::
+* urls.py を下記のように直します。
+
+.. code-block:: python
 
      -*- coding: utf-8 -*-
     from django.conf.urls.defaults import *
         (r'^polls/', include('polls.urls')),
     ) + urlpatterns
 
-* polls/urls.py を作成します。::
+* polls/urls.py を作成します。
+
+.. code-block:: python
 
     # -*- coding: utf-8 -*-
     from django.conf.urls.defaults import *
       url(r'^$', 'top', name='polls_top'),
     )
 
-* polls/views.py にメソッドを書きます。::
+* polls/views.py にメソッドを書きます。
+
+.. code-block:: python
 
     # -*- coding: utf-8 -*-
     from django.http import HttpResponse, HttpResponseRedirect
 Model を書きましょう。
 ------------------------
 
-* polls/models.py を下記のようにします。::
+* polls/models.py を下記のようにします。
+
+.. code-block:: python
 
     # -*- coding: utf-8 -*-
     from django.utils.translation import ugettext_lazy as _
 Admin サイトを使います
 ----------------------
 
-* polls/admin.py を下記のように作成します。::
+* polls/admin.py を下記のように作成します。
+
+.. code-block:: python
 
     from polls.models import Poll
     from django.contrib import admin
 使えます!
 
 * ちょっと変更してみましょう。admin.site.register(Poll) の行を下記で置
-  き換えます。::
+  き換えます。
+
+.. code-block:: python
 
     class PollAdmin(admin.ModelAdmin):
         fields = ['pub_date', 'question']
 
 どうなりましたか?
 
-* 今度は下記のように置き換えてみましょう。::
+* 今度は下記のように置き換えてみましょう。
+
+.. code-block:: python
 
     class PollAdmin(admin.ModelAdmin):
         fieldsets = [
 
     admin.site.register(Poll, PollAdmin)
 
-* もう一つのパターンです::
+* もう一つのパターンです
+
+.. code-block:: python
 
     class PollAdmin(admin.ModelAdmin):
         fieldsets = [
             ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
         ]
 
-* Choice を登録しましょう。polls/admin.py を下記のようにします。::
+* Choice を登録しましょう。polls/admin.py を下記のようにします。
+
+.. code-block:: python
 
     from polls.models import Poll, Choice
     from django.contrib import admin
 これで Choice の編集画面では Poll を選べるように、また Poll にも
 Choice を追加できるようになりました。
 
-* StackedInline の代わりに TabularInline も使えます。::
+* StackedInline の代わりに TabularInline も使えます。
+
+.. code-block:: python
 
     class ChoiceInline(admin.TabularInline):
 
 * Poll の一覧で表示する項目を変更してみましょう。まずは PollAdmin を編
-  集します。::
+  集します。
+
+.. code-block:: python
 
     class PollAdmin(admin.ModelAdmin):
         # ...
         list_display = ('question', 'pub_date', 'was_published_today')
 
-* polls/models.py の was_published_today に description を付けます。::
+* polls/models.py の was_published_today に description を付けます。
+
+.. code-block:: python
 
     class Poll(db.Model):
         # ...
             return self.pub_date.date() == datetime.date.today()
         was_published_today.short_description = 'Published today?'
 
-* PollAdmin に機能を足しましょう。::
+* PollAdmin に機能を足しましょう。
+
+.. code-block:: python
 
     class PollAdmin(admin.ModelAdmin):
         # ...
 urls.py と view を書きましょう
 ------------------------------
 
-* polls/urls.py::
+* polls/urls.py
+
+.. code-block:: python
 
     # -*- coding: utf-8 -*-
     from django.conf.urls.defaults import *
       url(r'^(?P<poll_id>\d+)/vote/$', 'vote', name='polls_vote'),
     )
 
-* index を作ります。polls/views.py 下記のように追加します。::
+* index を作ります。polls/views.py 下記のように追加します。
+
+.. code-block:: python
 
     from polls.models import Poll
 
     def results(request, poll_id):
         pass
 
-* テンプレートを使うように変更します。::
+* テンプレートを使うように変更します。
 
-    ...
+.. code-block:: python
+
+    # ...
     from django.template import Context, loader
 
     def index(request):
 
 ここでアクセスすると TemplateDoesNotExist が発生しますね。
 
-* テンプレートを書きましょう。polls/templates/index.html を書きます。::
+* テンプレートを書きましょう。polls/templates/index.html を書きます。
+
+.. code-block:: html
 
     {% if latest_poll_list %}
         <ul>
 
 * ショートカットを使います。polls/views.py で下記のようにします。
   ragendja のショートカットもありますが、ここでは django のものを使いま
-  す。::
+  す。
+
+.. code-block:: python
 
     from django.shortcuts import render_to_response
     # ...
         return render_to_response('polls/index.html',
                                   {'latest_poll_list': latest_poll_list})
 
-* detail view を書きましょう。polls/views.py::
+* detail view を書きましょう。polls/views.py
+
+.. code-block:: python
 
     from ragendja.dbutils import get_object_or_404
-    ...
+    # ...
     def detail(request, poll_id):
         p = get_object_or_404(Poll, id=long(poll_id))
         return render_to_response('polls/detail.html', {'poll': p})
 
-* polls/templates/detail.html::
+* polls/templates/detail.html
+
+.. code-block:: html
 
     <h1>{{ poll.question }}</h1>
     <ul>
 フォームを使用します。
 --------------------------
 
-* polls/templates/detail.html を変更します。::
+* polls/templates/detail.html を変更します。
+
+.. code-block:: html
 
     <h1>{{ poll.question }}</h1>
 
     <input type="submit" value="Vote" />
     </form>
 
-* polls/views.py で vote を受け付けるように、また結果表示もしましょう。::
+* polls/views.py で vote を受け付けるように、また結果表示もしましょう。
+
+.. code-block:: python
 
     from polls.models import Poll, Choice
     # ...
         p = get_object_or_404(Poll, id=long(poll_id))
         return render_to_response('polls/results.html', {'poll': p})
 
-* polls/templates/results.html::
+* polls/templates/results.html
+
+.. code-block:: html
 
     <h1>{{ poll.question }}</h1>
 
 サーバへのデプロイ
 ------------------
 
-* サーバにデプロイするのはとても簡単です::
+* サーバにデプロイするのはとても簡単です
+
+.. code-block:: console
 
     $ python manage.py update
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.