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()

```

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'),
      )),
 ]

{"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"}]}