We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Merchandise page redesign
### Is your feature request related to a problem? Please describe.

The current merchandise page is a long list with lot's of text. Part of this problem is the board not hiding the merchandise items that are sold out, but I think some other layout than a list would help to improve the look.

### Describe the solution you'd like

View more images side by side, and make the images larger. The text is not very important for the merch at all, so it can be pushed to the background.

### Motivation

The board is getting new merch and would like the page to look better to get people interested in the merch.

### Describe alternatives you've considered

Keep the page as is, because people will buy merch anyway through whatsapp promotion etc.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `website/merchandise/urls.py`
Content:
```
1 """Defines the routes provided in this package."""
2 from django.urls import include, path
3 
4 from . import views
5 
6 #: the name of the application
7 app_name = "merchandise"
8 
9 #: the urls provided by this package
10 urlpatterns = [
11     path(
12         "association/merchandise/",
13         include(
14             [
15                 path("", views.index, name="index"),
16             ]
17         ),
18     )
19 ]
20
```

Path: `website/merchandise/views.py`
Content:
```
1 """The views for the merchandise package."""
2 from django.shortcuts import render
3 
4 from merchandise.models import MerchandiseItem
5 
6 
7 def index(request):
8     """Render the index view.
9 
10     :param request: the request object
11     :return: the response
12     """
13     items = MerchandiseItem.objects.all()
14 
15     return render(request, "merchandise/index.html", {"items": items})
16
```
--- 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/website/merchandise/urls.py b/website/merchandise/urls.py
--- a/website/merchandise/urls.py
+++ b/website/merchandise/urls.py
@@ -15,5 +15,6 @@
                 path("", views.index, name="index"),
             ]
         ),
-    )
+    ),
+    path("association/merchandise/<int:id>/", views.product_page, name="product"),
 ]
diff --git a/website/merchandise/views.py b/website/merchandise/views.py
--- a/website/merchandise/views.py
+++ b/website/merchandise/views.py
@@ -1,4 +1,5 @@
 """The views for the merchandise package."""
+from django.http import Http404
 from django.shortcuts import render
 
 from merchandise.models import MerchandiseItem
@@ -13,3 +14,14 @@
     items = MerchandiseItem.objects.all()
 
     return render(request, "merchandise/index.html", {"items": items})
+
+
+def product_page(request, id):
+    try:
+        product = MerchandiseItem.objects.get(pk=id)
+    except MerchandiseItem.DoesNotExist:
+        raise Http404(
+            "This item may not exists, or is removed. Please check if the link is correct!"
+        )
+
+    return render(request, "merchandise/product_page.html", {"product": product})

{"golden_diff": "diff --git a/website/merchandise/urls.py b/website/merchandise/urls.py\n--- a/website/merchandise/urls.py\n+++ b/website/merchandise/urls.py\n@@ -15,5 +15,6 @@\n                 path(\"\", views.index, name=\"index\"),\n             ]\n         ),\n-    )\n+    ),\n+    path(\"association/merchandise/<int:id>/\", views.product_page, name=\"product\"),\n ]\ndiff --git a/website/merchandise/views.py b/website/merchandise/views.py\n--- a/website/merchandise/views.py\n+++ b/website/merchandise/views.py\n@@ -1,4 +1,5 @@\n \"\"\"The views for the merchandise package.\"\"\"\n+from django.http import Http404\n from django.shortcuts import render\n \n from merchandise.models import MerchandiseItem\n@@ -13,3 +14,14 @@\n     items = MerchandiseItem.objects.all()\n \n     return render(request, \"merchandise/index.html\", {\"items\": items})\n+\n+\n+def product_page(request, id):\n+    try:\n+        product = MerchandiseItem.objects.get(pk=id)\n+    except MerchandiseItem.DoesNotExist:\n+        raise Http404(\n+            \"This item may not exists, or is removed. Please check if the link is correct!\"\n+        )\n+\n+    return render(request, \"merchandise/product_page.html\", {\"product\": product})\n", "issue": "Merchandise page redesign\n### Is your feature request related to a problem? Please describe.\r\n\r\nThe current merchandise page is a long list with lot's of text. Part of this problem is the board not hiding the merchandise items that are sold out, but I think some other layout than a list would help to improve the look.\r\n\r\n### Describe the solution you'd like\r\n\r\nView more images side by side, and make the images larger. The text is not very important for the merch at all, so it can be pushed to the background.\r\n\r\n### Motivation\r\n\r\nThe board is getting new merch and would like the page to look better to get people interested in the merch.\r\n\r\n### Describe alternatives you've considered\r\n\r\nKeep the page as is, because people will buy merch anyway through whatsapp promotion etc.\r\n\n", "before_files": [{"content": "\"\"\"Defines the routes provided in this package.\"\"\"\nfrom django.urls import include, path\n\nfrom . import views\n\n#: the name of the application\napp_name = \"merchandise\"\n\n#: the urls provided by this package\nurlpatterns = [\n    path(\n        \"association/merchandise/\",\n        include(\n            [\n                path(\"\", views.index, name=\"index\"),\n            ]\n        ),\n    )\n]\n", "path": "website/merchandise/urls.py"}, {"content": "\"\"\"The views for the merchandise package.\"\"\"\nfrom django.shortcuts import render\n\nfrom merchandise.models import MerchandiseItem\n\n\ndef index(request):\n    \"\"\"Render the index view.\n\n    :param request: the request object\n    :return: the response\n    \"\"\"\n    items = MerchandiseItem.objects.all()\n\n    return render(request, \"merchandise/index.html\", {\"items\": items})\n", "path": "website/merchandise/views.py"}], "after_files": [{"content": "\"\"\"Defines the routes provided in this package.\"\"\"\nfrom django.urls import include, path\n\nfrom . import views\n\n#: the name of the application\napp_name = \"merchandise\"\n\n#: the urls provided by this package\nurlpatterns = [\n    path(\n        \"association/merchandise/\",\n        include(\n            [\n                path(\"\", views.index, name=\"index\"),\n            ]\n        ),\n    ),\n    path(\"association/merchandise/<int:id>/\", views.product_page, name=\"product\"),\n]\n", "path": "website/merchandise/urls.py"}, {"content": "\"\"\"The views for the merchandise package.\"\"\"\nfrom django.http import Http404\nfrom django.shortcuts import render\n\nfrom merchandise.models import MerchandiseItem\n\n\ndef index(request):\n    \"\"\"Render the index view.\n\n    :param request: the request object\n    :return: the response\n    \"\"\"\n    items = MerchandiseItem.objects.all()\n\n    return render(request, \"merchandise/index.html\", {\"items\": items})\n\n\ndef product_page(request, id):\n    try:\n        product = MerchandiseItem.objects.get(pk=id)\n    except MerchandiseItem.DoesNotExist:\n        raise Http404(\n            \"This item may not exists, or is removed. Please check if the link is correct!\"\n        )\n\n    return render(request, \"merchandise/product_page.html\", {\"product\": product})\n", "path": "website/merchandise/views.py"}]}