prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Static/Assets directories in apps
  Django says to include app specific static files in a `/static` directory in the root of the particular app (https://docs.djangoproject.com/en/1.11/howto/static-files/). On `runserver` Django collects static files from the project wide static directory (mentioned in base.py) and the `/static` directories within all apps, grouping them into one global `/static` directory.
  Now, we don't need `.jsx` files in that global `/static` directory since they are required and put together into one file by webpack. Still, those files need a directory to be put into on app level – therefore sometimes there might be an asset directory instead of a static directory or the other way around.
  It'd be great to have one directory and in the best case that would include not having `.jsx` files in that django-generated, global `/static` directory.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `apps/dashboard/blueprints.py`
  Content:
  ```
  1 from collections import namedtuple
  2 
  3 from django.utils.translation import ugettext_lazy as _
  4 
  5 from apps.bplan import phases as bplan_phases
  6 from apps.budgeting import phases as budgeting_phases
  7 from apps.documents import phases as documents_phases
  8 from apps.extprojects import phases as extprojects_phases
  9 from apps.ideas import phases as ideas_phases
  10 from apps.kiezkasse import phases as kiezkasse_phases
  11 from apps.mapideas import phases as mapideas_phases
  12 from apps.polls import phases as poll_phases
  13 from apps.topicprio import phases as topicprio_phases
  14 
  15 ProjectBlueprint = namedtuple(
  16     'ProjectBlueprint', [
  17         'title', 'description', 'content', 'image', 'settings_model'
  18     ]
  19 )
  20 
  21 blueprints = [
  22     ('brainstorming',
  23      ProjectBlueprint(
  24          title=_('Brainstorming'),
  25          description=_(
  26              'Collect first ideas for a specific topic and comment on them.'
  27          ),
  28          content=[
  29              ideas_phases.CollectPhase(),
  30          ],
  31          image='images/blueprints/brainstorming.svg',
  32          settings_model=None,
  33      )),
  34     ('map-brainstorming',
  35      ProjectBlueprint(
  36          title=_('Spatial Brainstorming'),
  37          description=_(
  38              'Collect location specific ideas for a topic and comment on them.'
  39          ),
  40          content=[
  41              mapideas_phases.CollectPhase(),
  42          ],
  43          image='images/blueprints/map-brainstorming.svg',
  44          settings_model=('a4maps', 'AreaSettings'),
  45      )),
  46     ('map-idea-collection',
  47      ProjectBlueprint(
  48          title=_('Spatial Idea Collection'),
  49          description=_(
  50              'Collect location specific ideas that can be rated and commented.'
  51          ),
  52          content=[
  53              mapideas_phases.CollectPhase(),
  54              mapideas_phases.RatingPhase()
  55          ],
  56          image='images/blueprints/map-idea-collection.svg',
  57          settings_model=('a4maps', 'AreaSettings'),
  58      )),
  59     ('agenda-setting',
  60      ProjectBlueprint(
  61          title=_('Agenda Setting'),
  62          description=_(
  63              'With Agenda-Setting it’s possible to identify topics and to '
  64              'define mission statements. Afterwards anyone can comment and '
  65              'rate on different topics.'
  66          ),
  67          content=[
  68              ideas_phases.CollectPhase(),
  69              ideas_phases.RatingPhase(),
  70          ],
  71          image='images/blueprints/agenda-setting.svg',
  72          settings_model=None,
  73      )),
  74     ('text-review',
  75      ProjectBlueprint(
  76          title=_('Text Review'),
  77          description=_(
  78              'In the text-review it’s possible to structure draft texts '
  79              'that can be commented.'
  80          ),
  81          content=[
  82              documents_phases.CommentPhase(),
  83          ],
  84          image='images/blueprints/text-review.svg',
  85          settings_model=None,
  86      )),
  87     ('participatory-budgeting',
  88      ProjectBlueprint(
  89          title=_('Participatory budgeting'),
  90          description=_(
  91              'With participatory-budgeting it’s possible to make proposals '
  92              'with budget specifications and locate them. Anyone can comment '
  93              'and rate on different proposals.'
  94          ),
  95          content=[
  96              budgeting_phases.RequestPhase()
  97          ],
  98          image='images/blueprints/participatory-budgeting.svg',
  99          settings_model=('a4maps', 'AreaSettings'),
  100      )),
  101     ('external-project',
  102      ProjectBlueprint(
  103          title=_('External project'),
  104          description=_(
  105              'External projects are handled on a different platform.'
  106          ),
  107          content=[
  108              extprojects_phases.ExternalPhase(),
  109          ],
  110          image='images/blueprints/external-project.svg',
  111          settings_model=None,
  112      )),
  113     ('poll',
  114      ProjectBlueprint(
  115          title=_('Poll'),
  116          description=_(
  117              'Create a poll with multiple questions and possible answers. '
  118              'Anyone can cast votes and comment on the poll.'
  119          ),
  120          content=[
  121              poll_phases.VotingPhase(),
  122          ],
  123          image='images/blueprints/poll.svg',
  124          settings_model=None,
  125      )),
  126     ('topic-prioritization',
  127      ProjectBlueprint(
  128          title=_('Topic Prioritization'),
  129          description=_(
  130              'Comment and prioritize topics.'
  131          ),
  132          content=[
  133              topicprio_phases.PrioritizePhase(),
  134          ],
  135          image='images/blueprints/priorization.svg',
  136          settings_model=None,
  137      )),
  138     ('bplan',
  139      ProjectBlueprint(
  140          title=_('Development Plan'),
  141          description=_('Create a statement formular for development plans'
  142                        ' to be embedded on external sites.'),
  143          content=[
  144              bplan_phases.StatementPhase(),
  145          ],
  146          image='images/blueprints/bplan.svg',
  147          settings_model=None,
  148      )),
  149     ('kiezkasse',
  150      ProjectBlueprint(
  151          title=_('Kiezkasse'),
  152          description=_(
  153              'With kiezkasse it’s possible to make proposals '
  154              'with budget specifications and locate them. '
  155              'The proposals can be commented and rated.'
  156          ),
  157          content=[
  158              kiezkasse_phases.RequestFeedbackPhase(),
  159          ],
  160          image='images/blueprints/kiezkasse.svg',
  161          settings_model=('a4maps', 'AreaSettings'),
  162      )),
  163 ]
  164 
  165 
  166 class BlueprintMixin:
  167     @property
  168     def blueprint(self):
  169         return dict(blueprints)[self.blueprint_key]
  170 
  171     @property
  172     def blueprint_key(self):
  173         return self.kwargs['blueprint_slug']
  174
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/apps/dashboard/blueprints.py b/apps/dashboard/blueprints.py
  --- a/apps/dashboard/blueprints.py
  +++ b/apps/dashboard/blueprints.py
  @@ -28,7 +28,7 @@
            content=[
                ideas_phases.CollectPhase(),
            ],
  -         image='images/blueprints/brainstorming.svg',
  +         image='images/brainstorming.svg',
            settings_model=None,
        )),
       ('map-brainstorming',
  @@ -40,7 +40,7 @@
            content=[
                mapideas_phases.CollectPhase(),
            ],
  -         image='images/blueprints/map-brainstorming.svg',
  +         image='images/map-brainstorming.svg',
            settings_model=('a4maps', 'AreaSettings'),
        )),
       ('map-idea-collection',
  @@ -53,7 +53,7 @@
                mapideas_phases.CollectPhase(),
                mapideas_phases.RatingPhase()
            ],
  -         image='images/blueprints/map-idea-collection.svg',
  +         image='images/map-idea-collection.svg',
            settings_model=('a4maps', 'AreaSettings'),
        )),
       ('agenda-setting',
  @@ -68,7 +68,7 @@
                ideas_phases.CollectPhase(),
                ideas_phases.RatingPhase(),
            ],
  -         image='images/blueprints/agenda-setting.svg',
  +         image='images/agenda-setting.svg',
            settings_model=None,
        )),
       ('text-review',
  @@ -81,7 +81,7 @@
            content=[
                documents_phases.CommentPhase(),
            ],
  -         image='images/blueprints/text-review.svg',
  +         image='images/text-review.svg',
            settings_model=None,
        )),
       ('participatory-budgeting',
  @@ -95,7 +95,7 @@
            content=[
                budgeting_phases.RequestPhase()
            ],
  -         image='images/blueprints/participatory-budgeting.svg',
  +         image='images/participatory-budgeting.svg',
            settings_model=('a4maps', 'AreaSettings'),
        )),
       ('external-project',
  @@ -107,7 +107,7 @@
            content=[
                extprojects_phases.ExternalPhase(),
            ],
  -         image='images/blueprints/external-project.svg',
  +         image='images/external-project.svg',
            settings_model=None,
        )),
       ('poll',
  @@ -120,7 +120,7 @@
            content=[
                poll_phases.VotingPhase(),
            ],
  -         image='images/blueprints/poll.svg',
  +         image='images/poll.svg',
            settings_model=None,
        )),
       ('topic-prioritization',
  @@ -132,7 +132,7 @@
            content=[
                topicprio_phases.PrioritizePhase(),
            ],
  -         image='images/blueprints/priorization.svg',
  +         image='images/priorization.svg',
            settings_model=None,
        )),
       ('bplan',
  @@ -143,7 +143,7 @@
            content=[
                bplan_phases.StatementPhase(),
            ],
  -         image='images/blueprints/bplan.svg',
  +         image='images/bplan.svg',
            settings_model=None,
        )),
       ('kiezkasse',
  @@ -157,7 +157,7 @@
            content=[
                kiezkasse_phases.RequestFeedbackPhase(),
            ],
  -         image='images/blueprints/kiezkasse.svg',
  +         image='images/kiezkasse.svg',
            settings_model=('a4maps', 'AreaSettings'),
        )),
   ]
  
verification_info: {"golden_diff": "diff --git a/apps/dashboard/blueprints.py b/apps/dashboard/blueprints.py\n--- a/apps/dashboard/blueprints.py\n+++ b/apps/dashboard/blueprints.py\n@@ -28,7 +28,7 @@\n          content=[\n              ideas_phases.CollectPhase(),\n          ],\n-         image='images/blueprints/brainstorming.svg',\n+         image='images/brainstorming.svg',\n          settings_model=None,\n      )),\n     ('map-brainstorming',\n@@ -40,7 +40,7 @@\n          content=[\n              mapideas_phases.CollectPhase(),\n          ],\n-         image='images/blueprints/map-brainstorming.svg',\n+         image='images/map-brainstorming.svg',\n          settings_model=('a4maps', 'AreaSettings'),\n      )),\n     ('map-idea-collection',\n@@ -53,7 +53,7 @@\n              mapideas_phases.CollectPhase(),\n              mapideas_phases.RatingPhase()\n          ],\n-         image='images/blueprints/map-idea-collection.svg',\n+         image='images/map-idea-collection.svg',\n          settings_model=('a4maps', 'AreaSettings'),\n      )),\n     ('agenda-setting',\n@@ -68,7 +68,7 @@\n              ideas_phases.CollectPhase(),\n              ideas_phases.RatingPhase(),\n          ],\n-         image='images/blueprints/agenda-setting.svg',\n+         image='images/agenda-setting.svg',\n          settings_model=None,\n      )),\n     ('text-review',\n@@ -81,7 +81,7 @@\n          content=[\n              documents_phases.CommentPhase(),\n          ],\n-         image='images/blueprints/text-review.svg',\n+         image='images/text-review.svg',\n          settings_model=None,\n      )),\n     ('participatory-budgeting',\n@@ -95,7 +95,7 @@\n          content=[\n              budgeting_phases.RequestPhase()\n          ],\n-         image='images/blueprints/participatory-budgeting.svg',\n+         image='images/participatory-budgeting.svg',\n          settings_model=('a4maps', 'AreaSettings'),\n      )),\n     ('external-project',\n@@ -107,7 +107,7 @@\n          content=[\n              extprojects_phases.ExternalPhase(),\n          ],\n-         image='images/blueprints/external-project.svg',\n+         image='images/external-project.svg',\n          settings_model=None,\n      )),\n     ('poll',\n@@ -120,7 +120,7 @@\n          content=[\n              poll_phases.VotingPhase(),\n          ],\n-         image='images/blueprints/poll.svg',\n+         image='images/poll.svg',\n          settings_model=None,\n      )),\n     ('topic-prioritization',\n@@ -132,7 +132,7 @@\n          content=[\n              topicprio_phases.PrioritizePhase(),\n          ],\n-         image='images/blueprints/priorization.svg',\n+         image='images/priorization.svg',\n          settings_model=None,\n      )),\n     ('bplan',\n@@ -143,7 +143,7 @@\n          content=[\n              bplan_phases.StatementPhase(),\n          ],\n-         image='images/blueprints/bplan.svg',\n+         image='images/bplan.svg',\n          settings_model=None,\n      )),\n     ('kiezkasse',\n@@ -157,7 +157,7 @@\n          content=[\n              kiezkasse_phases.RequestFeedbackPhase(),\n          ],\n-         image='images/blueprints/kiezkasse.svg',\n+         image='images/kiezkasse.svg',\n          settings_model=('a4maps', 'AreaSettings'),\n      )),\n ]\n", "issue": "Static/Assets directories in apps\nDjango says to include app specific static files in a `/static` directory in the root of the particular app (https://docs.djangoproject.com/en/1.11/howto/static-files/). On `runserver` Django collects static files from the project wide static directory (mentioned in base.py) and the `/static` directories within all apps, grouping them into one global `/static` directory.\r\nNow, we don't need `.jsx` files in that global `/static` directory since they are required and put together into one file by webpack. Still, those files need a directory to be put into on app level \u2013 therefore sometimes there might be an asset directory instead of a static directory or the other way around.\r\nIt'd be great to have one directory and in the best case that would include not having `.jsx` files in that django-generated, global `/static` directory.\n", "before_files": [{"content": "from collections import namedtuple\n\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom apps.bplan import phases as bplan_phases\nfrom apps.budgeting import phases as budgeting_phases\nfrom apps.documents import phases as documents_phases\nfrom apps.extprojects import phases as extprojects_phases\nfrom apps.ideas import phases as ideas_phases\nfrom apps.kiezkasse import phases as kiezkasse_phases\nfrom apps.mapideas import phases as mapideas_phases\nfrom apps.polls import phases as poll_phases\nfrom apps.topicprio import phases as topicprio_phases\n\nProjectBlueprint = namedtuple(\n    'ProjectBlueprint', [\n        'title', 'description', 'content', 'image', 'settings_model'\n    ]\n)\n\nblueprints = [\n    ('brainstorming',\n     ProjectBlueprint(\n         title=_('Brainstorming'),\n         description=_(\n             'Collect first ideas for a specific topic and comment on them.'\n         ),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/blueprints/brainstorming.svg',\n         settings_model=None,\n     )),\n    ('map-brainstorming',\n     ProjectBlueprint(\n         title=_('Spatial Brainstorming'),\n         description=_(\n             'Collect location specific ideas for a topic and comment on them.'\n         ),\n         content=[\n             mapideas_phases.CollectPhase(),\n         ],\n         image='images/blueprints/map-brainstorming.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('map-idea-collection',\n     ProjectBlueprint(\n         title=_('Spatial Idea Collection'),\n         description=_(\n             'Collect location specific ideas that can be rated and commented.'\n         ),\n         content=[\n             mapideas_phases.CollectPhase(),\n             mapideas_phases.RatingPhase()\n         ],\n         image='images/blueprints/map-idea-collection.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('agenda-setting',\n     ProjectBlueprint(\n         title=_('Agenda Setting'),\n         description=_(\n             'With Agenda-Setting it\u2019s possible to identify topics and to '\n             'define mission statements. Afterwards anyone can comment and '\n             'rate on different topics.'\n         ),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/blueprints/agenda-setting.svg',\n         settings_model=None,\n     )),\n    ('text-review',\n     ProjectBlueprint(\n         title=_('Text Review'),\n         description=_(\n             'In the text-review it\u2019s possible to structure draft texts '\n             'that can be commented.'\n         ),\n         content=[\n             documents_phases.CommentPhase(),\n         ],\n         image='images/blueprints/text-review.svg',\n         settings_model=None,\n     )),\n    ('participatory-budgeting',\n     ProjectBlueprint(\n         title=_('Participatory budgeting'),\n         description=_(\n             'With participatory-budgeting it\u2019s possible to make proposals '\n             'with budget specifications and locate them. Anyone can comment '\n             'and rate on different proposals.'\n         ),\n         content=[\n             budgeting_phases.RequestPhase()\n         ],\n         image='images/blueprints/participatory-budgeting.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('external-project',\n     ProjectBlueprint(\n         title=_('External project'),\n         description=_(\n             'External projects are handled on a different platform.'\n         ),\n         content=[\n             extprojects_phases.ExternalPhase(),\n         ],\n         image='images/blueprints/external-project.svg',\n         settings_model=None,\n     )),\n    ('poll',\n     ProjectBlueprint(\n         title=_('Poll'),\n         description=_(\n             'Create a poll with multiple questions and possible answers. '\n             'Anyone can cast votes and comment on the poll.'\n         ),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/blueprints/poll.svg',\n         settings_model=None,\n     )),\n    ('topic-prioritization',\n     ProjectBlueprint(\n         title=_('Topic Prioritization'),\n         description=_(\n             'Comment and prioritize topics.'\n         ),\n         content=[\n             topicprio_phases.PrioritizePhase(),\n         ],\n         image='images/blueprints/priorization.svg',\n         settings_model=None,\n     )),\n    ('bplan',\n     ProjectBlueprint(\n         title=_('Development Plan'),\n         description=_('Create a statement formular for development plans'\n                       ' to be embedded on external sites.'),\n         content=[\n             bplan_phases.StatementPhase(),\n         ],\n         image='images/blueprints/bplan.svg',\n         settings_model=None,\n     )),\n    ('kiezkasse',\n     ProjectBlueprint(\n         title=_('Kiezkasse'),\n         description=_(\n             'With kiezkasse it\u2019s possible to make proposals '\n             'with budget specifications and locate them. '\n             'The proposals can be commented and rated.'\n         ),\n         content=[\n             kiezkasse_phases.RequestFeedbackPhase(),\n         ],\n         image='images/blueprints/kiezkasse.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n]\n\n\nclass BlueprintMixin:\n    @property\n    def blueprint(self):\n        return dict(blueprints)[self.blueprint_key]\n\n    @property\n    def blueprint_key(self):\n        return self.kwargs['blueprint_slug']\n", "path": "apps/dashboard/blueprints.py"}], "after_files": [{"content": "from collections import namedtuple\n\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom apps.bplan import phases as bplan_phases\nfrom apps.budgeting import phases as budgeting_phases\nfrom apps.documents import phases as documents_phases\nfrom apps.extprojects import phases as extprojects_phases\nfrom apps.ideas import phases as ideas_phases\nfrom apps.kiezkasse import phases as kiezkasse_phases\nfrom apps.mapideas import phases as mapideas_phases\nfrom apps.polls import phases as poll_phases\nfrom apps.topicprio import phases as topicprio_phases\n\nProjectBlueprint = namedtuple(\n    'ProjectBlueprint', [\n        'title', 'description', 'content', 'image', 'settings_model'\n    ]\n)\n\nblueprints = [\n    ('brainstorming',\n     ProjectBlueprint(\n         title=_('Brainstorming'),\n         description=_(\n             'Collect first ideas for a specific topic and comment on them.'\n         ),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/brainstorming.svg',\n         settings_model=None,\n     )),\n    ('map-brainstorming',\n     ProjectBlueprint(\n         title=_('Spatial Brainstorming'),\n         description=_(\n             'Collect location specific ideas for a topic and comment on them.'\n         ),\n         content=[\n             mapideas_phases.CollectPhase(),\n         ],\n         image='images/map-brainstorming.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('map-idea-collection',\n     ProjectBlueprint(\n         title=_('Spatial Idea Collection'),\n         description=_(\n             'Collect location specific ideas that can be rated and commented.'\n         ),\n         content=[\n             mapideas_phases.CollectPhase(),\n             mapideas_phases.RatingPhase()\n         ],\n         image='images/map-idea-collection.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('agenda-setting',\n     ProjectBlueprint(\n         title=_('Agenda Setting'),\n         description=_(\n             'With Agenda-Setting it\u2019s possible to identify topics and to '\n             'define mission statements. Afterwards anyone can comment and '\n             'rate on different topics.'\n         ),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/agenda-setting.svg',\n         settings_model=None,\n     )),\n    ('text-review',\n     ProjectBlueprint(\n         title=_('Text Review'),\n         description=_(\n             'In the text-review it\u2019s possible to structure draft texts '\n             'that can be commented.'\n         ),\n         content=[\n             documents_phases.CommentPhase(),\n         ],\n         image='images/text-review.svg',\n         settings_model=None,\n     )),\n    ('participatory-budgeting',\n     ProjectBlueprint(\n         title=_('Participatory budgeting'),\n         description=_(\n             'With participatory-budgeting it\u2019s possible to make proposals '\n             'with budget specifications and locate them. Anyone can comment '\n             'and rate on different proposals.'\n         ),\n         content=[\n             budgeting_phases.RequestPhase()\n         ],\n         image='images/participatory-budgeting.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n    ('external-project',\n     ProjectBlueprint(\n         title=_('External project'),\n         description=_(\n             'External projects are handled on a different platform.'\n         ),\n         content=[\n             extprojects_phases.ExternalPhase(),\n         ],\n         image='images/external-project.svg',\n         settings_model=None,\n     )),\n    ('poll',\n     ProjectBlueprint(\n         title=_('Poll'),\n         description=_(\n             'Create a poll with multiple questions and possible answers. '\n             'Anyone can cast votes and comment on the poll.'\n         ),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/poll.svg',\n         settings_model=None,\n     )),\n    ('topic-prioritization',\n     ProjectBlueprint(\n         title=_('Topic Prioritization'),\n         description=_(\n             'Comment and prioritize topics.'\n         ),\n         content=[\n             topicprio_phases.PrioritizePhase(),\n         ],\n         image='images/priorization.svg',\n         settings_model=None,\n     )),\n    ('bplan',\n     ProjectBlueprint(\n         title=_('Development Plan'),\n         description=_('Create a statement formular for development plans'\n                       ' to be embedded on external sites.'),\n         content=[\n             bplan_phases.StatementPhase(),\n         ],\n         image='images/bplan.svg',\n         settings_model=None,\n     )),\n    ('kiezkasse',\n     ProjectBlueprint(\n         title=_('Kiezkasse'),\n         description=_(\n             'With kiezkasse it\u2019s possible to make proposals '\n             'with budget specifications and locate them. '\n             'The proposals can be commented and rated.'\n         ),\n         content=[\n             kiezkasse_phases.RequestFeedbackPhase(),\n         ],\n         image='images/kiezkasse.svg',\n         settings_model=('a4maps', 'AreaSettings'),\n     )),\n]\n\n\nclass BlueprintMixin:\n    @property\n    def blueprint(self):\n        return dict(blueprints)[self.blueprint_key]\n\n    @property\n    def blueprint_key(self):\n        return self.kwargs['blueprint_slug']\n", "path": "apps/dashboard/blueprints.py"}]}