| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
92 バイト追加 、 2020年2月16日 (日) 04:24
編集の要約なし
==[[Django APIs]]==
[[Django]] | [[Python]] |
*http://docs.djangoproject.com/en/dev/
===shortcut===
====render_to_response====
*テンプレートとともにコンテキスト辞書を与えると、テキストが描画されたHttpResponseオブジェクトを返すテンプレートとともにコンテキスト辞書を与えると、テキストが描画されたHttp[[R]]esponseオブジェクトを返す
render_to_response(template[, dictionary][, context_instance][, mimetype])
====Field.choices====
*選択フィールドとして、2 要素を持つタプルの繰り返しを利用する。
*[[Django ]] admin は、このオプションが与えら得れた場合、テキストフィールドの変わりにセレクトボックスを利用する。
from django.db import models
class MyModel1(models.Model):
*データベースのカラム名を指定する。指定しない場合、フィールド名を使用する。
====Field.db_index====
*True に設定した場合、以下のようにCREATE に設定した場合、以下のようにC[[R]]EATE INDEX 文を出力できる。
C:\work\py\django\mysite>python manage.py sqlindexes myapp1
BEGIN;
CREATE C[[R]]EATE INDEX "myapp1_mymodel1_field1" ON "myapp1_mymodel1" ("field1"); COMMIT[[COM]]MIT;
====Field.db_tablespace====
*フィールドにインデックスを張る場合に使用するテーブルスペースを指定。
|False
|-
|値の正規化値の[[正規化]]
| True or False
|-
|}
=====例=====
from django.http import HttpResponseHttp[[R]]esponse
from django.template import Context, loader
from django.forms import *
====EmailField====
====FileField====
*[[Django Fileアップロード例]]
====FilePathField====
====FloatField====
====TextField====
====TimeField====
====URLFieldU[[R]]LField========XMLField[[XML]]Field====
==Forms==
|'' (空文字)
|-
|値の正規化値の[[正規化]]
|ユニコードオブジェクト
|-
<form action='/hogehoge/' method='POST'>
{% if form %}
BARBA[[R]]:{{form.bar}}
{% endif %}
====TypedChoiceField====
====MultipleChoiceField====
====NullBooleanField====
====RegexField[[R]]egexField====
====TimeField====
====URLFieldU[[R]]LField====
===Built-in widgets===
====NullBooleanSelect====
====SelectMultiple====
====RadioSelect[[R]]adioSelect====
====CheckboxSelectMultiple====
====MultiWidget====
=====配列の各要素をループする。=====
*views[[vi]]ews.py
def index(request):
ctx = {}
=====アイテムを繰り返し処理する=====
{% for itm in item_list %}
<a href="{{itm.detailPageURLdetailPageU[[R]]L}}"><img src="{{itm.smallImageURLsmallImageU[[R]]L}}"/></a>
{% endfor %}
=====基底=====
*派生でオーバーライドする箇所を、block [名前] ~ endblock で作成
<!DOCTYPE html PUBLIC "-//W3C//DTD [[HTML ]] 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
{% endblock %}
===HTMLをそのまま出力する[[HTML]]をそのまま出力する===
*|safeとする
{{digest.summary|safe}}
{{ value|striptags }}
====divisiblebydi[[vi]]sibleby====
*値が引数で割り切れるかどうか判定。割り切れれば True
*mod 演算の代替として使える
<td align='right'>{{ num }}</td>
<td><input type='text' size='6'></td>
{% if num|divisiblebydi[[vi]]sibleby:"4" %}
</tr><tr>
{% endif %}

案内メニュー