<spanid="evennia-web-website-views-objects"></span><h1>evennia.web.website.views.objects<aclass="headerlink"href="#module-evennia.web.website.views.objects"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.website.views.objects.</code><codeclass="sig-name descname">ObjectDetailView</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectDetailView"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">model</code><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.model"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject"title="evennia.objects.objects.DefaultObject"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.objects.objects.DefaultObject</span></code></a></p>
<codeclass="sig-name descname">template_name</code><emclass="property"> = 'website/object_detail.html'</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.template_name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">access_type</code><emclass="property"> = 'view'</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.access_type"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">attributes</code><emclass="property"> = ['name', 'desc']</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.attributes"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_context_data</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectDetailView.get_context_data"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.get_context_data"title="Permalink to this definition">¶</a></dt>
<dd><p>Adds an ‘attributes’ list to the request context consisting of the
attributes specified at the class level, and in the order provided.</p>
<p>Django views do not provide a way to reference dynamic attributes, so
we have to grab them all before we render the template.</p>
<codeclass="sig-name descname">get_object</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">queryset</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectDetailView.get_object"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDetailView.get_object"title="Permalink to this definition">¶</a></dt>
<dd><p>Override of Django hook that provides some important Evennia-specific
functionality.</p>
<p>Evennia does not natively store slugs, so where a slug is provided,
calculate the same for the object and make sure it matches.</p>
<p>This also checks to make sure the user has access to view/edit/delete
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.website.views.objects.</code><codeclass="sig-name descname">ObjectCreateView</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectCreateView"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectCreateView"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">model</code><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectCreateView.model"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject"title="evennia.objects.objects.DefaultObject"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.objects.objects.DefaultObject</span></code></a></p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.website.views.objects.</code><codeclass="sig-name descname">ObjectDeleteView</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectDeleteView"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDeleteView"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">model</code><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDeleteView.model"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject"title="evennia.objects.objects.DefaultObject"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.objects.objects.DefaultObject</span></code></a></p>
<codeclass="sig-name descname">template_name</code><emclass="property"> = 'website/object_confirm_delete.html'</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDeleteView.template_name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">access_type</code><emclass="property"> = 'delete'</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectDeleteView.access_type"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.website.views.objects.</code><codeclass="sig-name descname">ObjectUpdateView</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectUpdateView"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">model</code><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView.model"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject"title="evennia.objects.objects.DefaultObject"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.objects.objects.DefaultObject</span></code></a></p>
<codeclass="sig-name descname">access_type</code><emclass="property"> = 'edit'</em><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView.access_type"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_success_url</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectUpdateView.get_success_url"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView.get_success_url"title="Permalink to this definition">¶</a></dt>
<dd><p>Django hook.</p>
<p>Can be overridden to return any URL you want to redirect the user to
after the object is successfully updated, but by default it goes to the
object detail page so the user can see their changes reflected.</p>
<codeclass="sig-name descname">get_initial</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectUpdateView.get_initial"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView.get_initial"title="Permalink to this definition">¶</a></dt>
<dd><p>Django hook, modified for Evennia.</p>
<p>Prepopulates the update form field values based on object db attributes.</p>
<codeclass="sig-name descname">form_valid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">form</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/website/views/objects.html#ObjectUpdateView.form_valid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.website.views.objects.ObjectUpdateView.form_valid"title="Permalink to this definition">¶</a></dt>
<dd><p>Override of Django hook.</p>
<p>Updates object attributes based on values submitted.</p>
<p>This is run when the form is submitted and the data on it is deemed
valid– all values are within expected ranges, all strings contain
valid characters and lengths, etc.</p>
<p>This method is only called if all values for the fields submitted
passed form validation, so at this point we can assume the data is