<spanid="evennia-web-api-views"></span><h1>evennia.web.api.views<aclass="headerlink"href="#module-evennia.web.api.views"title="Permalink to this headline">¶</a></h1>
<p>Views are the functions that are called by different url endpoints.
The Django Rest Framework provides collections called ‘ViewSets’, which
can generate a number of views for the common CRUD operations.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">TypeclassViewSetMixin</code><aclass="reference internal"href="../_modules/evennia/web/api/views.html#TypeclassViewSetMixin"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.TypeclassViewSetMixin"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">permission_classes</code><emclass="property"> = [<class 'evennia.web.api.permissions.EvenniaPermission'>]</em><aclass="headerlink"href="#evennia.web.api.views.TypeclassViewSetMixin.permission_classes"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">filter_backends</code><emclass="property"> = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>]</em><aclass="headerlink"href="#evennia.web.api.views.TypeclassViewSetMixin.filter_backends"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">set_attribute</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">request</span></em>, <emclass="sig-param"><spanclass="n">pk</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/web/api/views.html#TypeclassViewSetMixin.set_attribute"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.TypeclassViewSetMixin.set_attribute"title="Permalink to this definition">¶</a></dt>
<dd><p>This is an example of a custom action added to a viewset. Based on the name of the
method, it will create a default url_name (used for reversing) and url_path.
The ‘pk’ argument is automatically passed to this action because it has a url path
of the format <object type>/:pk/set-attribute. The get_object method is automatically
set in the expected viewset classes that will inherit this, using the pk that’s
passed along to retrieve the object.</p>
<p>This action will set an attribute if the db_value is defined, or remove it
if no db_value is provided.</p>
</dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.ObjectDBViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">ObjectDBViewSet</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/api/views.html#ObjectDBViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">serializer_class</code><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.serializer_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.serializers.html#evennia.web.api.serializers.ObjectDBSerializer"title="evennia.web.api.serializers.ObjectDBSerializer"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.serializers.ObjectDBSerializer</span></code></a></p>
<codeclass="sig-name descname">queryset</code><emclass="property"> = <QuerySet [Dummy, Limbo, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, Red button, '...(remaining elements truncated)...']></em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.queryset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">filterset_class</code><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.filterset_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.filters.html#evennia.web.api.filters.ObjectDBFilterSet"title="evennia.web.api.filters.ObjectDBFilterSet"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.filters.ObjectDBFilterSet</span></code></a></p>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.description"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ObjectDBViewSet.suffix"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.CharacterViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">CharacterViewSet</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/api/views.html#CharacterViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">queryset</code><emclass="property"> = <QuerySet [Dummy]></em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.queryset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.description"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.CharacterViewSet.suffix"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.RoomViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">RoomViewSet</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/api/views.html#RoomViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">queryset</code><emclass="property"> = <QuerySet [Limbo]></em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.queryset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.description"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.RoomViewSet.detail">
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.detail"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.RoomViewSet.name">
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.name"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.RoomViewSet.suffix">
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.RoomViewSet.suffix"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.ExitViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">ExitViewSet</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/api/views.html#ExitViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">queryset</code><emclass="property"> = <QuerySet []></em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.queryset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.description"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.ExitViewSet.detail">
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.detail"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.ExitViewSet.name">
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.name"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dlclass="py attribute">
<dtid="evennia.web.api.views.ExitViewSet.suffix">
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ExitViewSet.suffix"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.AccountDBViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">AccountDBViewSet</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/api/views.html#AccountDBViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">serializer_class</code><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.serializer_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.serializers.html#evennia.web.api.serializers.AccountSerializer"title="evennia.web.api.serializers.AccountSerializer"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.serializers.AccountSerializer</span></code></a></p>
<codeclass="sig-name descname">queryset</code><emclass="property"> = <QuerySet [Dummy(account#1)]></em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.queryset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">filterset_class</code><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.filterset_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.filters.html#evennia.web.api.filters.AccountDBFilterSet"title="evennia.web.api.filters.AccountDBFilterSet"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.filters.AccountDBFilterSet</span></code></a></p>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.description"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.AccountDBViewSet.suffix"title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="py class">
<dtid="evennia.web.api.views.ScriptDBViewSet">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.web.api.views.</code><codeclass="sig-name descname">ScriptDBViewSet</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/api/views.html#ScriptDBViewSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">serializer_class</code><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.serializer_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.serializers.html#evennia.web.api.serializers.ScriptDBSerializer"title="evennia.web.api.serializers.ScriptDBSerializer"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.serializers.ScriptDBSerializer</span></code></a></p>
<codeclass="sig-name descname">filterset_class</code><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.filterset_class"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="evennia.web.api.filters.html#evennia.web.api.filters.ScriptDBFilterSet"title="evennia.web.api.filters.ScriptDBFilterSet"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">evennia.web.api.filters.ScriptDBFilterSet</span></code></a></p>
<codeclass="sig-name descname">basename</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.basename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">description</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.description"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">detail</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">name</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.name"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">suffix</code><emclass="property"> = None</em><aclass="headerlink"href="#evennia.web.api.views.ScriptDBViewSet.suffix"title="Permalink to this definition">¶</a></dt>