mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Replaced print statement by print function (forward compatibility syntax).
This commit is contained in:
parent
fe43ad5707
commit
596cb9c7e2
61 changed files with 310 additions and 310 deletions
|
@ -76,7 +76,7 @@ transform procedure::
|
|||
>>> z = Zipcode(code=78212, poly=poly_3084)
|
||||
>>> z.save()
|
||||
>>> from django.db import connection
|
||||
>>> print connection.queries[-1]['sql'] # printing the last SQL statement executed (requires DEBUG=True)
|
||||
>>> print(connection.queries[-1]['sql']) # printing the last SQL statement executed (requires DEBUG=True)
|
||||
INSERT INTO "geoapp_zipcode" ("code", "poly") VALUES (78212, ST_Transform(ST_GeomFromWKB('\\001 ... ', 3084), 4326))
|
||||
|
||||
Thus, geometry parameters may be passed in using the ``GEOSGeometry`` object, WKT
|
||||
|
|
|
@ -114,7 +114,7 @@ __ http://www.gdal.org/ogr/ogr_formats.html
|
|||
information about each layer in a :class:`DataSource`::
|
||||
|
||||
>>> for layer in ds:
|
||||
... print 'Layer "%s": %i %ss' % (layer.name, len(layer), layer.geom_type.name)
|
||||
... print('Layer "%s": %i %ss' % (layer.name, len(layer), layer.geom_type.name))
|
||||
...
|
||||
Layer "cities": 3 Points
|
||||
|
||||
|
@ -200,7 +200,7 @@ __ http://www.gdal.org/ogr/ogr_formats.html
|
|||
Property that returns the :class:`SpatialReference` associated
|
||||
with this layer::
|
||||
|
||||
>>> print layer.srs
|
||||
>>> print(layer.srs)
|
||||
GEOGCS["GCS_WGS_1984",
|
||||
DATUM["WGS_1984",
|
||||
SPHEROID["WGS_1984",6378137,298.257223563]],
|
||||
|
@ -220,9 +220,9 @@ __ http://www.gdal.org/ogr/ogr_formats.html
|
|||
other than ``None``, only features that intersect the filter will be
|
||||
returned when iterating over the layer::
|
||||
|
||||
>>> print layer.spatial_filter
|
||||
>>> print(layer.spatial_filter)
|
||||
None
|
||||
>>> print len(layer)
|
||||
>>> print(len(layer))
|
||||
3
|
||||
>>> [feat.get('Name') for feat in layer]
|
||||
['Pueblo', 'Lawrence', 'Houston']
|
||||
|
@ -814,7 +814,7 @@ systems and coordinate transformation::
|
|||
>>> gt1 = OGRGeomType(3) # Using an integer for the type
|
||||
>>> gt2 = OGRGeomType('Polygon') # Using a string
|
||||
>>> gt3 = OGRGeomType('POLYGON') # It's case-insensitive
|
||||
>>> print gt1 == 3, gt1 == 'Polygon' # Equivalence works w/non-OGRGeomType objects
|
||||
>>> print(gt1 == 3, gt1 == 'Polygon') # Equivalence works w/non-OGRGeomType objects
|
||||
True True
|
||||
|
||||
.. attribute:: name
|
||||
|
@ -927,19 +927,19 @@ Coordinate System Objects
|
|||
|
||||
>>> wkt = 'GEOGCS["WGS 84", DATUM["WGS_1984, ... AUTHORITY["EPSG","4326"]]')
|
||||
>>> srs = SpatialReference(wkt) # could also use 'WGS84', or 4326
|
||||
>>> print srs['GEOGCS']
|
||||
>>> print(srs['GEOGCS'])
|
||||
WGS 84
|
||||
>>> print srs['DATUM']
|
||||
>>> print(srs['DATUM'])
|
||||
WGS_1984
|
||||
>>> print srs['AUTHORITY']
|
||||
>>> print(srs['AUTHORITY'])
|
||||
EPSG
|
||||
>>> print srs['AUTHORITY', 1] # The authority value
|
||||
>>> print(srs['AUTHORITY', 1]) # The authority value
|
||||
4326
|
||||
>>> print srs['TOWGS84', 4] # the fourth value in this wkt
|
||||
>>> print(srs['TOWGS84', 4]) # the fourth value in this wkt
|
||||
0
|
||||
>>> print srs['UNIT|AUTHORITY'] # For the units authority, have to use the pipe symbol.
|
||||
>>> print(srs['UNIT|AUTHORITY']) # For the units authority, have to use the pipe symbol.
|
||||
EPSG
|
||||
>>> print srs['UNIT|AUTHORITY', 1] # The authority value for the units
|
||||
>>> print(srs['UNIT|AUTHORITY', 1]) # The authority value for the units
|
||||
9122
|
||||
|
||||
.. method:: attr_value(target, index=0)
|
||||
|
|
|
@ -714,7 +714,7 @@ the distance from the `Tasmanian`__ city of Hobart to every other
|
|||
:class:`PointField` in the ``AustraliaCity`` queryset is calculated::
|
||||
|
||||
>>> pnt = AustraliaCity.objects.get(name='Hobart').point
|
||||
>>> for city in AustraliaCity.objects.distance(pnt): print city.name, city.distance
|
||||
>>> for city in AustraliaCity.objects.distance(pnt): print(city.name, city.distance)
|
||||
Wollongong 990071.220408 m
|
||||
Shellharbour 972804.613941 m
|
||||
Thirroul 1002334.36351 m
|
||||
|
@ -874,9 +874,9 @@ Example::
|
|||
|
||||
>>> qs = Zipcode.objects.all().transform() # Transforms to WGS84
|
||||
>>> qs = Zipcode.objects.all().transform(32140) # Transforming to "NAD83 / Texas South Central"
|
||||
>>> print qs[0].poly.srid
|
||||
>>> print(qs[0].poly.srid)
|
||||
32140
|
||||
>>> print qs[0].poly
|
||||
>>> print(qs[0].poly)
|
||||
POLYGON ((234055.1698884720099159 4937796.9232223574072123 ...
|
||||
|
||||
``translate``
|
||||
|
@ -990,7 +990,7 @@ Attaches a ``gml`` attribute to every model in the queryset that contains the
|
|||
Example::
|
||||
|
||||
>>> qs = Zipcode.objects.all().gml()
|
||||
>>> print qs[0].gml
|
||||
>>> print(qs[0].gml)
|
||||
<gml:Polygon srsName="EPSG:4326"><gml:OuterBoundaryIs>-147.78711,70.245363 ... -147.78711,70.245363</gml:OuterBoundaryIs></gml:Polygon>
|
||||
|
||||
===================== =====================================================
|
||||
|
@ -1023,7 +1023,7 @@ necessary.
|
|||
Example::
|
||||
|
||||
>>> qs = Zipcode.objects.all().kml()
|
||||
>>> print qs[0].kml
|
||||
>>> print(qs[0].kml)
|
||||
<Polygon><outerBoundaryIs><LinearRing><coordinates>-103.04135,36.217596,0 ... -103.04135,36.217596,0</coordinates></LinearRing></outerBoundaryIs></Polygon>
|
||||
|
||||
===================== =====================================================
|
||||
|
@ -1128,7 +1128,7 @@ lower left coordinate and the upper right coordinate.
|
|||
Example::
|
||||
|
||||
>>> qs = City.objects.filter(name__in=('Houston', 'Dallas'))
|
||||
>>> print qs.extent()
|
||||
>>> print(qs.extent())
|
||||
(-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820)
|
||||
|
||||
``extent3d``
|
||||
|
@ -1146,7 +1146,7 @@ the lower left coordinate and upper right coordinate.
|
|||
Example::
|
||||
|
||||
>>> qs = City.objects.filter(name__in=('Houston', 'Dallas'))
|
||||
>>> print qs.extent3d()
|
||||
>>> print(qs.extent3d())
|
||||
(-96.8016128540039, 29.7633724212646, 0, -95.3631439208984, 32.782058715820, 0)
|
||||
|
||||
``make_line``
|
||||
|
@ -1161,7 +1161,7 @@ Returns a ``LineString`` constructed from the point field geometries in the
|
|||
|
||||
Example::
|
||||
|
||||
>>> print City.objects.filter(name__in=('Houston', 'Dallas')).make_line()
|
||||
>>> print(City.objects.filter(name__in=('Houston', 'Dallas')).make_line())
|
||||
LINESTRING (-95.3631510000000020 29.7633739999999989, -96.8016109999999941 32.7820570000000018)
|
||||
|
||||
``unionagg``
|
||||
|
|
|
@ -231,7 +231,7 @@ Property that may be used to retrieve or set the SRID associated with the
|
|||
geometry. For example::
|
||||
|
||||
>>> pnt = Point(5, 23)
|
||||
>>> print pnt.srid
|
||||
>>> print(pnt.srid)
|
||||
None
|
||||
>>> pnt.srid = 4326
|
||||
>>> pnt.srid
|
||||
|
|
|
@ -39,13 +39,13 @@ Example
|
|||
>>> from django.contrib.gis.gdal import DataSource
|
||||
>>> ds = DataSource('test_poly.shp')
|
||||
>>> layer = ds[0]
|
||||
>>> print layer.fields # Exploring the fields in the layer, we only want the 'str' field.
|
||||
>>> print(layer.fields) # Exploring the fields in the layer, we only want the 'str' field.
|
||||
['float', 'int', 'str']
|
||||
>>> print len(layer) # getting the number of features in the layer (should be 3)
|
||||
>>> print(len(layer)) # getting the number of features in the layer (should be 3)
|
||||
3
|
||||
>>> print layer.geom_type # Should be 'Polygon'
|
||||
>>> print(layer.geom_type) # Should be 'Polygon'
|
||||
Polygon
|
||||
>>> print layer.srs # WGS84 in WKT
|
||||
>>> print(layer.srs) # WGS84 in WKT
|
||||
GEOGCS["GCS_WGS_1984",
|
||||
DATUM["WGS_1984",
|
||||
SPHEROID["WGS_1984",6378137,298.257223563]],
|
||||
|
|
|
@ -22,41 +22,41 @@ instantiated in units of kilometers (``km``) and miles (``mi``)::
|
|||
|
||||
>>> from django.contrib.gis.measure import Distance, D
|
||||
>>> d1 = Distance(km=5)
|
||||
>>> print d1
|
||||
>>> print(d1)
|
||||
5.0 km
|
||||
>>> d2 = D(mi=5) # `D` is an alias for `Distance`
|
||||
>>> print d2
|
||||
>>> print(d2)
|
||||
5.0 mi
|
||||
|
||||
Conversions are easy, just access the preferred unit attribute to get a
|
||||
converted distance quantity::
|
||||
|
||||
>>> print d1.mi # Converting 5 kilometers to miles
|
||||
>>> print(d1.mi) # Converting 5 kilometers to miles
|
||||
3.10685596119
|
||||
>>> print d2.km # Converting 5 miles to kilometers
|
||||
>>> print(d2.km) # Converting 5 miles to kilometers
|
||||
8.04672
|
||||
|
||||
Moreover, arithmetic operations may be performed between the distance
|
||||
objects::
|
||||
|
||||
>>> print d1 + d2 # Adding 5 miles to 5 kilometers
|
||||
>>> print(d1 + d2) # Adding 5 miles to 5 kilometers
|
||||
13.04672 km
|
||||
>>> print d2 - d1 # Subtracting 5 kilometers from 5 miles
|
||||
>>> print(d2 - d1) # Subtracting 5 kilometers from 5 miles
|
||||
1.89314403881 mi
|
||||
|
||||
Two :class:`Distance` objects multiplied together will yield an :class:`Area`
|
||||
object, which uses squared units of measure::
|
||||
|
||||
>>> a = d1 * d2 # Returns an Area object.
|
||||
>>> print a
|
||||
>>> print(a)
|
||||
40.2336 sq_km
|
||||
|
||||
To determine what the attribute abbreviation of a unit is, the ``unit_attname``
|
||||
class method may be used::
|
||||
|
||||
>>> print Distance.unit_attname('US Survey Foot')
|
||||
>>> print(Distance.unit_attname('US Survey Foot'))
|
||||
survey_ft
|
||||
>>> print Distance.unit_attname('centimeter')
|
||||
>>> print(Distance.unit_attname('centimeter'))
|
||||
cm
|
||||
|
||||
.. _supported_units:
|
||||
|
@ -127,7 +127,7 @@ Measurement API
|
|||
Returns the distance value in units corresponding to the given unit
|
||||
attribute. For example::
|
||||
|
||||
>>> print dist.km
|
||||
>>> print(dist.km)
|
||||
8.04672
|
||||
|
||||
.. classmethod:: unit_attname(unit_name)
|
||||
|
@ -159,7 +159,7 @@ Measurement API
|
|||
Returns the area value in units corresponding to the given unit
|
||||
attribute. For example::
|
||||
|
||||
>>> print a.sq_km
|
||||
>>> print(a.sq_km)
|
||||
12.949940551680001
|
||||
|
||||
.. classmethod:: unit_attname(unit_name)
|
||||
|
|
|
@ -362,24 +362,24 @@ Now, the world borders shapefile may be opened using GeoDjango's
|
|||
|
||||
>>> from django.contrib.gis.gdal import DataSource
|
||||
>>> ds = DataSource(world_shp)
|
||||
>>> print ds
|
||||
>>> print(ds)
|
||||
/ ... /geodjango/world/data/TM_WORLD_BORDERS-0.3.shp (ESRI Shapefile)
|
||||
|
||||
Data source objects can have different layers of geospatial features; however,
|
||||
shapefiles are only allowed to have one layer::
|
||||
|
||||
>>> print len(ds)
|
||||
>>> print(len(ds))
|
||||
1
|
||||
>>> lyr = ds[0]
|
||||
>>> print lyr
|
||||
>>> print(lyr)
|
||||
TM_WORLD_BORDERS-0.3
|
||||
|
||||
You can see what the geometry type of the layer is and how many features it
|
||||
contains::
|
||||
|
||||
>>> print lyr.geom_type
|
||||
>>> print(lyr.geom_type)
|
||||
Polygon
|
||||
>>> print len(lyr)
|
||||
>>> print(len(lyr))
|
||||
246
|
||||
|
||||
.. note::
|
||||
|
@ -397,7 +397,7 @@ system associated with it -- if it does, the ``srs`` attribute will return a
|
|||
:class:`~django.contrib.gis.gdal.SpatialReference` object::
|
||||
|
||||
>>> srs = lyr.srs
|
||||
>>> print srs
|
||||
>>> print(srs)
|
||||
GEOGCS["GCS_WGS_1984",
|
||||
DATUM["WGS_1984",
|
||||
SPHEROID["WGS_1984",6378137.0,298.257223563]],
|
||||
|
@ -413,7 +413,7 @@ latitude.
|
|||
In addition, shapefiles also support attribute fields that may contain
|
||||
additional data. Here are the fields on the World Borders layer:
|
||||
|
||||
>>> print lyr.fields
|
||||
>>> print(lyr.fields)
|
||||
['FIPS', 'ISO2', 'ISO3', 'UN', 'NAME', 'AREA', 'POP2005', 'REGION', 'SUBREGION', 'LON', 'LAT']
|
||||
|
||||
Here we are examining the OGR types (e.g., whether a field is an integer or
|
||||
|
@ -428,7 +428,7 @@ feature's attribute fields (whose **values** are accessed via ``get()``
|
|||
method)::
|
||||
|
||||
>>> for feat in lyr:
|
||||
... print feat.get('NAME'), feat.geom.num_points
|
||||
... print(feat.get('NAME'), feat.geom.num_points)
|
||||
...
|
||||
Guernsey 18
|
||||
Jersey 26
|
||||
|
@ -443,16 +443,16 @@ method)::
|
|||
And individual features may be retrieved by their feature ID::
|
||||
|
||||
>>> feat = lyr[234]
|
||||
>>> print feat.get('NAME')
|
||||
>>> print(feat.get('NAME'))
|
||||
San Marino
|
||||
|
||||
Here the boundary geometry for San Marino is extracted and looking
|
||||
exported to WKT and GeoJSON::
|
||||
|
||||
>>> geom = feat.geom
|
||||
>>> print geom.wkt
|
||||
>>> print(geom.wkt)
|
||||
POLYGON ((12.415798 43.957954,12.450554 ...
|
||||
>>> print geom.json
|
||||
>>> print(geom.json)
|
||||
{ "type": "Polygon", "coordinates": [ [ [ 12.415798, 43.957954 ], [ 12.450554, 43.979721 ], ...
|
||||
|
||||
|
||||
|
@ -659,7 +659,7 @@ in transformation SQL, allowing the developer to work at a higher level
|
|||
of abstraction::
|
||||
|
||||
>>> qs = WorldBorder.objects.filter(mpoly__intersects=pnt)
|
||||
>>> print qs.query # Generating the SQL
|
||||
>>> print(qs.query) # Generating the SQL
|
||||
SELECT "world_worldborder"."id", "world_worldborder"."name", "world_worldborder"."area",
|
||||
"world_worldborder"."pop2005", "world_worldborder"."fips", "world_worldborder"."iso2",
|
||||
"world_worldborder"."iso3", "world_worldborder"."un", "world_worldborder"."region",
|
||||
|
|
|
@ -891,7 +891,7 @@ For example, to create an Atom 1.0 feed and print it to standard output::
|
|||
... link=u"http://www.example.com/entries/1/",
|
||||
... pubdate=datetime.now(),
|
||||
... description=u"<p>Today I had a Vienna Beef hot dog. It was pink, plump and perfect.</p>")
|
||||
>>> print f.writeString('UTF-8')
|
||||
>>> print(f.writeString('UTF-8'))
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
|
||||
...
|
||||
|
|
|
@ -161,7 +161,7 @@ and the latter gets precedence::
|
|||
... url = forms.URLField()
|
||||
... comment = forms.CharField()
|
||||
>>> f = CommentForm(initial={'name': 'instance'}, auto_id=False)
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th>Name:</th><td><input type="text" name="name" value="instance" /></td></tr>
|
||||
<tr><th>Url:</th><td><input type="text" name="url" /></td></tr>
|
||||
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
|
||||
|
@ -266,7 +266,7 @@ The second task of a ``Form`` object is to render itself as HTML. To do so,
|
|||
simply ``print`` it::
|
||||
|
||||
>>> f = ContactForm()
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" /></td></tr>
|
||||
<tr><th><label for="id_sender">Sender:</label></th><td><input type="text" name="sender" id="id_sender" /></td></tr>
|
||||
|
@ -283,7 +283,7 @@ include ``checked="checked"`` if appropriate::
|
|||
... 'sender': 'foo@example.com',
|
||||
... 'cc_myself': True}
|
||||
>>> f = ContactForm(data)
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" value="hello" /></td></tr>
|
||||
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" value="Hi there" /></td></tr>
|
||||
<tr><th><label for="id_sender">Sender:</label></th><td><input type="text" name="sender" id="id_sender" value="foo@example.com" /></td></tr>
|
||||
|
@ -331,7 +331,7 @@ a form object, and each rendering method returns a Unicode object.
|
|||
>>> f = ContactForm()
|
||||
>>> f.as_p()
|
||||
u'<p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" /></p>\n<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p>\n<p><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" /></p>\n<p><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></p>'
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" /></p>
|
||||
<p><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></p>
|
||||
<p><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" /></p>
|
||||
|
@ -350,7 +350,7 @@ a form object, and each rendering method returns a Unicode object.
|
|||
>>> f = ContactForm()
|
||||
>>> f.as_ul()
|
||||
u'<li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" /></li>\n<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></li>\n<li><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" /></li>\n<li><label for="id_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_cc_myself" /></li>'
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><label for="id_subject">Subject:</label> <input id="id_subject" type="text" name="subject" maxlength="100" /></li>
|
||||
<li><label for="id_message">Message:</label> <input type="text" name="message" id="id_message" /></li>
|
||||
<li><label for="id_sender">Sender:</label> <input type="text" name="sender" id="id_sender" /></li>
|
||||
|
@ -368,7 +368,7 @@ a form object, and each rendering method returns a Unicode object.
|
|||
>>> f = ContactForm()
|
||||
>>> f.as_table()
|
||||
u'<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" /></td></tr>\n<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" /></td></tr>\n<tr><th><label for="id_sender">Sender:</label></th><td><input type="text" name="sender" id="id_sender" /></td></tr>\n<tr><th><label for="id_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_cc_myself" /></td></tr>'
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th><label for="id_subject">Subject:</label></th><td><input id="id_subject" type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th><label for="id_message">Message:</label></th><td><input type="text" name="message" id="id_message" /></td></tr>
|
||||
<tr><th><label for="id_sender">Sender:</label></th><td><input type="text" name="sender" id="id_sender" /></td></tr>
|
||||
|
@ -398,7 +398,7 @@ Once you've done that, rows will be given ``"error"`` and/or ``"required"``
|
|||
classes, as needed. The HTML will look something like::
|
||||
|
||||
>>> f = ContactForm(data)
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr class="required"><th><label for="id_subject">Subject:</label> ...
|
||||
<tr class="required"><th><label for="id_message">Message:</label> ...
|
||||
<tr class="required error"><th><label for="id_sender">Sender:</label> ...
|
||||
|
@ -426,17 +426,17 @@ If ``auto_id`` is ``False``, then the form output will not include ``<label>``
|
|||
tags nor ``id`` attributes::
|
||||
|
||||
>>> f = ContactForm(auto_id=False)
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th>Subject:</th><td><input type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th>Message:</th><td><input type="text" name="message" /></td></tr>
|
||||
<tr><th>Sender:</th><td><input type="text" name="sender" /></td></tr>
|
||||
<tr><th>Cc myself:</th><td><input type="checkbox" name="cc_myself" /></td></tr>
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li>Subject: <input type="text" name="subject" maxlength="100" /></li>
|
||||
<li>Message: <input type="text" name="message" /></li>
|
||||
<li>Sender: <input type="text" name="sender" /></li>
|
||||
<li>Cc myself: <input type="checkbox" name="cc_myself" /></li>
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p>Subject: <input type="text" name="subject" maxlength="100" /></p>
|
||||
<p>Message: <input type="text" name="message" /></p>
|
||||
<p>Sender: <input type="text" name="sender" /></p>
|
||||
|
@ -447,17 +447,17 @@ If ``auto_id`` is set to ``True``, then the form output *will* include
|
|||
field::
|
||||
|
||||
>>> f = ContactForm(auto_id=True)
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th><label for="subject">Subject:</label></th><td><input id="subject" type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th><label for="message">Message:</label></th><td><input type="text" name="message" id="message" /></td></tr>
|
||||
<tr><th><label for="sender">Sender:</label></th><td><input type="text" name="sender" id="sender" /></td></tr>
|
||||
<tr><th><label for="cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="cc_myself" /></td></tr>
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" /></li>
|
||||
<li><label for="message">Message:</label> <input type="text" name="message" id="message" /></li>
|
||||
<li><label for="sender">Sender:</label> <input type="text" name="sender" id="sender" /></li>
|
||||
<li><label for="cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="cc_myself" /></li>
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p><label for="subject">Subject:</label> <input id="subject" type="text" name="subject" maxlength="100" /></p>
|
||||
<p><label for="message">Message:</label> <input type="text" name="message" id="message" /></p>
|
||||
<p><label for="sender">Sender:</label> <input type="text" name="sender" id="sender" /></p>
|
||||
|
@ -470,17 +470,17 @@ attributes based on the format string. For example, for a format string
|
|||
``'field_subject'``. Continuing our example::
|
||||
|
||||
>>> f = ContactForm(auto_id='id_for_%s')
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th><label for="id_for_subject">Subject:</label></th><td><input id="id_for_subject" type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th><label for="id_for_message">Message:</label></th><td><input type="text" name="message" id="id_for_message" /></td></tr>
|
||||
<tr><th><label for="id_for_sender">Sender:</label></th><td><input type="text" name="sender" id="id_for_sender" /></td></tr>
|
||||
<tr><th><label for="id_for_cc_myself">Cc myself:</label></th><td><input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></td></tr>
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" /></li>
|
||||
<li><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" /></li>
|
||||
<li><label for="id_for_sender">Sender:</label> <input type="text" name="sender" id="id_for_sender" /></li>
|
||||
<li><label for="id_for_cc_myself">Cc myself:</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></li>
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p><label for="id_for_subject">Subject:</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" /></p>
|
||||
<p><label for="id_for_message">Message:</label> <input type="text" name="message" id="id_for_message" /></p>
|
||||
<p><label for="id_for_sender">Sender:</label> <input type="text" name="sender" id="id_for_sender" /></p>
|
||||
|
@ -496,13 +496,13 @@ rendered. It's possible to change the colon to another character, or omit it
|
|||
entirely, using the ``label_suffix`` parameter::
|
||||
|
||||
>>> f = ContactForm(auto_id='id_for_%s', label_suffix='')
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><label for="id_for_subject">Subject</label> <input id="id_for_subject" type="text" name="subject" maxlength="100" /></li>
|
||||
<li><label for="id_for_message">Message</label> <input type="text" name="message" id="id_for_message" /></li>
|
||||
<li><label for="id_for_sender">Sender</label> <input type="text" name="sender" id="id_for_sender" /></li>
|
||||
<li><label for="id_for_cc_myself">Cc myself</label> <input type="checkbox" name="cc_myself" id="id_for_cc_myself" /></li>
|
||||
>>> f = ContactForm(auto_id='id_for_%s', label_suffix=' ->')
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><label for="id_for_subject">Subject -></label> <input id="id_for_subject" type="text" name="subject" maxlength="100" /></li>
|
||||
<li><label for="id_for_message">Message -></label> <input type="text" name="message" id="id_for_message" /></li>
|
||||
<li><label for="id_for_sender">Sender -></label> <input type="text" name="sender" id="id_for_sender" /></li>
|
||||
|
@ -534,17 +534,17 @@ method you're using::
|
|||
... 'sender': 'invalid email address',
|
||||
... 'cc_myself': True}
|
||||
>>> f = ContactForm(data, auto_id=False)
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th>Subject:</th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="subject" maxlength="100" /></td></tr>
|
||||
<tr><th>Message:</th><td><input type="text" name="message" value="Hi there" /></td></tr>
|
||||
<tr><th>Sender:</th><td><ul class="errorlist"><li>Enter a valid e-mail address.</li></ul><input type="text" name="sender" value="invalid email address" /></td></tr>
|
||||
<tr><th>Cc myself:</th><td><input checked="checked" type="checkbox" name="cc_myself" /></td></tr>
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li><ul class="errorlist"><li>This field is required.</li></ul>Subject: <input type="text" name="subject" maxlength="100" /></li>
|
||||
<li>Message: <input type="text" name="message" value="Hi there" /></li>
|
||||
<li><ul class="errorlist"><li>Enter a valid e-mail address.</li></ul>Sender: <input type="text" name="sender" value="invalid email address" /></li>
|
||||
<li>Cc myself: <input checked="checked" type="checkbox" name="cc_myself" /></li>
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p><ul class="errorlist"><li>This field is required.</li></ul></p>
|
||||
<p>Subject: <input type="text" name="subject" maxlength="100" /></p>
|
||||
<p>Message: <input type="text" name="message" value="Hi there" /></p>
|
||||
|
@ -593,13 +593,13 @@ To retrieve a single ``BoundField``, use dictionary lookup syntax on your form
|
|||
using the field's name as the key::
|
||||
|
||||
>>> form = ContactForm()
|
||||
>>> print form['subject']
|
||||
>>> print(form['subject'])
|
||||
<input id="id_subject" type="text" name="subject" maxlength="100" />
|
||||
|
||||
To retrieve all ``BoundField`` objects, iterate the form::
|
||||
|
||||
>>> form = ContactForm()
|
||||
>>> for boundfield in form: print boundfield
|
||||
>>> for boundfield in form: print(boundfield)
|
||||
<input id="id_subject" type="text" name="subject" maxlength="100" />
|
||||
<input type="text" name="message" id="id_message" />
|
||||
<input type="text" name="sender" id="id_sender" />
|
||||
|
@ -608,10 +608,10 @@ To retrieve all ``BoundField`` objects, iterate the form::
|
|||
The field-specific output honors the form object's ``auto_id`` setting::
|
||||
|
||||
>>> f = ContactForm(auto_id=False)
|
||||
>>> print f['message']
|
||||
>>> print(f['message'])
|
||||
<input type="text" name="message" />
|
||||
>>> f = ContactForm(auto_id='id_%s')
|
||||
>>> print f['message']
|
||||
>>> print(f['message'])
|
||||
<input type="text" name="message" id="id_message" />
|
||||
|
||||
For a field's list of errors, access the field's ``errors`` attribute.
|
||||
|
@ -623,15 +623,15 @@ For a field's list of errors, access the field's ``errors`` attribute.
|
|||
|
||||
>>> data = {'subject': 'hi', 'message': '', 'sender': '', 'cc_myself': ''}
|
||||
>>> f = ContactForm(data, auto_id=False)
|
||||
>>> print f['message']
|
||||
>>> print(f['message'])
|
||||
<input type="text" name="message" />
|
||||
>>> f['message'].errors
|
||||
[u'This field is required.']
|
||||
>>> print f['message'].errors
|
||||
>>> print(f['message'].errors)
|
||||
<ul class="errorlist"><li>This field is required.</li></ul>
|
||||
>>> f['subject'].errors
|
||||
[]
|
||||
>>> print f['subject'].errors
|
||||
>>> print(f['subject'].errors)
|
||||
|
||||
>>> str(f['subject'].errors)
|
||||
''
|
||||
|
@ -667,9 +667,9 @@ by a ``Widget``::
|
|||
>>> initial = {'subject': 'welcome'}
|
||||
>>> unbound_form = ContactForm(initial=initial)
|
||||
>>> bound_form = ContactForm(data, initial=initial)
|
||||
>>> print unbound_form['subject'].value()
|
||||
>>> print(unbound_form['subject'].value())
|
||||
welcome
|
||||
>>> print bound_form['subject'].value()
|
||||
>>> print(bound_form['subject'].value())
|
||||
hi
|
||||
|
||||
.. _binding-uploaded-files:
|
||||
|
@ -753,7 +753,7 @@ fields are ordered first::
|
|||
>>> class ContactFormWithPriority(ContactForm):
|
||||
... priority = forms.CharField()
|
||||
>>> f = ContactFormWithPriority(auto_id=False)
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul())
|
||||
<li>Subject: <input type="text" name="subject" maxlength="100" /></li>
|
||||
<li>Message: <input type="text" name="message" /></li>
|
||||
<li>Sender: <input type="text" name="sender" /></li>
|
||||
|
@ -773,7 +773,7 @@ classes::
|
|||
>>> class BeatleForm(PersonForm, InstrumentForm):
|
||||
... haircut_type = CharField()
|
||||
>>> b = BeatleForm(auto_id=False)
|
||||
>>> print b.as_ul()
|
||||
>>> print(b.as_ul())
|
||||
<li>First name: <input type="text" name="first_name" /></li>
|
||||
<li>Last name: <input type="text" name="last_name" /></li>
|
||||
<li>Instrument: <input type="text" name="instrument" /></li>
|
||||
|
@ -791,9 +791,9 @@ You can put several Django forms inside one ``<form>`` tag. To give each
|
|||
|
||||
>>> mother = PersonForm(prefix="mother")
|
||||
>>> father = PersonForm(prefix="father")
|
||||
>>> print mother.as_ul()
|
||||
>>> print(mother.as_ul())
|
||||
<li><label for="id_mother-first_name">First name:</label> <input type="text" name="mother-first_name" id="id_mother-first_name" /></li>
|
||||
<li><label for="id_mother-last_name">Last name:</label> <input type="text" name="mother-last_name" id="id_mother-last_name" /></li>
|
||||
>>> print father.as_ul()
|
||||
>>> print(father.as_ul())
|
||||
<li><label for="id_father-first_name">First name:</label> <input type="text" name="father-first_name" id="id_father-first_name" /></li>
|
||||
<li><label for="id_father-last_name">Last name:</label> <input type="text" name="father-last_name" id="id_father-last_name" /></li>
|
||||
|
|
|
@ -112,7 +112,7 @@ We've specified ``auto_id=False`` to simplify the output::
|
|||
... url = forms.URLField(label='Your Web site', required=False)
|
||||
... comment = forms.CharField()
|
||||
>>> f = CommentForm(auto_id=False)
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th>Your name:</th><td><input type="text" name="name" /></td></tr>
|
||||
<tr><th>Your Web site:</th><td><input type="text" name="url" /></td></tr>
|
||||
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
|
||||
|
@ -135,7 +135,7 @@ field is initialized to a particular value. For example::
|
|||
... url = forms.URLField(initial='http://')
|
||||
... comment = forms.CharField()
|
||||
>>> f = CommentForm(auto_id=False)
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th>Name:</th><td><input type="text" name="name" value="Your name" /></td></tr>
|
||||
<tr><th>Url:</th><td><input type="text" name="url" value="http://" /></td></tr>
|
||||
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
|
||||
|
@ -150,7 +150,7 @@ and the HTML output will include any validation errors::
|
|||
... comment = forms.CharField()
|
||||
>>> default_data = {'name': 'Your name', 'url': 'http://'}
|
||||
>>> f = CommentForm(default_data, auto_id=False)
|
||||
>>> print f
|
||||
>>> print(f)
|
||||
<tr><th>Name:</th><td><input type="text" name="name" value="Your name" /></td></tr>
|
||||
<tr><th>Url:</th><td><ul class="errorlist"><li>Enter a valid URL.</li></ul><input type="text" name="url" value="http://" /></td></tr>
|
||||
<tr><th>Comment:</th><td><ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="comment" /></td></tr>
|
||||
|
@ -179,7 +179,7 @@ Instead of a constant, you can also pass any callable::
|
|||
>>> import datetime
|
||||
>>> class DateForm(forms.Form):
|
||||
... day = forms.DateField(initial=datetime.date.today)
|
||||
>>> print DateForm()
|
||||
>>> print(DateForm())
|
||||
<tr><th>Day:</th><td><input type="text" name="day" value="12/23/2008" /><td></tr>
|
||||
|
||||
The callable will be evaluated only when the unbound form is displayed, not when it is defined.
|
||||
|
@ -211,17 +211,17 @@ fields. We've specified ``auto_id=False`` to simplify the output::
|
|||
... sender = forms.EmailField(help_text='A valid email address, please.')
|
||||
... cc_myself = forms.BooleanField(required=False)
|
||||
>>> f = HelpTextContactForm(auto_id=False)
|
||||
>>> print f.as_table()
|
||||
>>> print(f.as_table())
|
||||
<tr><th>Subject:</th><td><input type="text" name="subject" maxlength="100" /><br /><span class="helptext">100 characters max.</span></td></tr>
|
||||
<tr><th>Message:</th><td><input type="text" name="message" /></td></tr>
|
||||
<tr><th>Sender:</th><td><input type="text" name="sender" /><br />A valid email address, please.</td></tr>
|
||||
<tr><th>Cc myself:</th><td><input type="checkbox" name="cc_myself" /></td></tr>
|
||||
>>> print f.as_ul()
|
||||
>>> print(f.as_ul()))
|
||||
<li>Subject: <input type="text" name="subject" maxlength="100" /> <span class="helptext">100 characters max.</span></li>
|
||||
<li>Message: <input type="text" name="message" /></li>
|
||||
<li>Sender: <input type="text" name="sender" /> A valid email address, please.</li>
|
||||
<li>Cc myself: <input type="checkbox" name="cc_myself" /></li>
|
||||
>>> print f.as_p()
|
||||
>>> print(f.as_p())
|
||||
<p>Subject: <input type="text" name="subject" maxlength="100" /> <span class="helptext">100 characters max.</span></p>
|
||||
<p>Message: <input type="text" name="message" /></p>
|
||||
<p>Sender: <input type="text" name="sender" /> A valid email address, please.</p>
|
||||
|
|
|
@ -327,7 +327,7 @@ Once the object has been saved, you must reload the object in order to access
|
|||
the actual value that was applied to the updated field::
|
||||
|
||||
>>> product = Products.objects.get(pk=product.pk)
|
||||
>>> print product.number_sold
|
||||
>>> print(product.number_sold)
|
||||
42
|
||||
|
||||
For more details, see the documentation on :ref:`F() expressions
|
||||
|
|
|
@ -29,7 +29,7 @@ You can evaluate a ``QuerySet`` in the following ways:
|
|||
the headline of all entries in the database::
|
||||
|
||||
for e in Entry.objects.all():
|
||||
print e.headline
|
||||
print(e.headline)
|
||||
|
||||
* **Slicing.** As explained in :ref:`limiting-querysets`, a ``QuerySet`` can
|
||||
be sliced, using Python's array-slicing syntax. Slicing an unevaluated
|
||||
|
@ -71,7 +71,7 @@ You can evaluate a ``QuerySet`` in the following ways:
|
|||
``True``, otherwise ``False``. For example::
|
||||
|
||||
if Entry.objects.filter(headline="Test"):
|
||||
print "There is at least one Entry with the headline Test"
|
||||
print("There is at least one Entry with the headline Test")
|
||||
|
||||
Note: *Don't* use this if all you want to do is determine if at least one
|
||||
result exists, and don't need the actual objects. It's more efficient to
|
||||
|
@ -1251,7 +1251,7 @@ The :exc:`~django.core.exceptions.DoesNotExist` exception inherits from
|
|||
e = Entry.objects.get(id=3)
|
||||
b = Blog.objects.get(id=1)
|
||||
except ObjectDoesNotExist:
|
||||
print "Either the entry or blog doesn't exist."
|
||||
print("Either the entry or blog doesn't exist.")
|
||||
|
||||
create
|
||||
~~~~~~
|
||||
|
|
|
@ -215,18 +215,18 @@ the content of the response manually::
|
|||
# Set up a rendered TemplateResponse
|
||||
>>> t = TemplateResponse(request, 'original.html', {})
|
||||
>>> t.render()
|
||||
>>> print t.content
|
||||
>>> print(t.content)
|
||||
Original content
|
||||
|
||||
# Re-rendering doesn't change content
|
||||
>>> t.template_name = 'new.html'
|
||||
>>> t.render()
|
||||
>>> print t.content
|
||||
>>> print(t.content)
|
||||
Original content
|
||||
|
||||
# Assigning content does change, no render() call required
|
||||
>>> t.content = t.rendered_content
|
||||
>>> print t.content
|
||||
>>> print(t.content)
|
||||
New content
|
||||
|
||||
Post-render callbacks
|
||||
|
|
|
@ -69,7 +69,7 @@ takes one argument -- the raw template code::
|
|||
|
||||
>>> from django.template import Template
|
||||
>>> t = Template("My name is {{ my_name }}.")
|
||||
>>> print t
|
||||
>>> print(t)
|
||||
<django.template.Template instance>
|
||||
|
||||
.. admonition:: Behind the scenes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue