mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 08:11:08 -05:00
96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
# Search Integration Plan
|
|
|
|
## 1. File Structure
|
|
```plaintext
|
|
core/
|
|
├── views/
|
|
│ └── search.py # Search views implementation
|
|
├── utils/
|
|
│ └── search.py # Search utilities
|
|
templates/
|
|
└── core/
|
|
└── search/ # Search templates
|
|
├── results.html
|
|
├── filters.html
|
|
└── ...
|
|
```
|
|
|
|
## 2. View Migration
|
|
- Move `search/views.py` → `core/views/search.py`
|
|
- Update view references:
|
|
```python
|
|
# Old: from search.views import AdaptiveSearchView
|
|
# New:
|
|
from core.views.search import AdaptiveSearchView, FilterFormView
|
|
```
|
|
|
|
## 3. URL Configuration Updates
|
|
Update `thrillwiki/urls.py`:
|
|
```python
|
|
# Before:
|
|
path("search/", include("search.urls", namespace="search"))
|
|
|
|
# After:
|
|
path("search/", include("core.urls.search", namespace="search"))
|
|
```
|
|
|
|
Create `core/urls/search.py`:
|
|
```python
|
|
from django.urls import path
|
|
from core.views.search import AdaptiveSearchView, FilterFormView
|
|
from rides.views import RideSearchView
|
|
|
|
urlpatterns = [
|
|
path('parks/', AdaptiveSearchView.as_view(), name='search'),
|
|
path('parks/filters/', FilterFormView.as_view(), name='filter_form'),
|
|
path('rides/', RideSearchView.as_view(), name='ride_search'),
|
|
path('rides/results/', RideSearchView.as_view(), name='ride_search_results'),
|
|
]
|
|
```
|
|
|
|
## 4. Import Cleanup Strategy
|
|
1. Update all imports:
|
|
```python
|
|
# Before:
|
|
from search.views import ...
|
|
from search.utils import ...
|
|
|
|
# After:
|
|
from core.views.search import ...
|
|
from core.utils.search import ...
|
|
```
|
|
|
|
2. Remove old search app:
|
|
```bash
|
|
rm -rf search/
|
|
```
|
|
|
|
3. Update `INSTALLED_APPS` in `thrillwiki/settings.py`:
|
|
```python
|
|
# Remove 'search' from INSTALLED_APPS
|
|
INSTALLED_APPS = [
|
|
# ...
|
|
# 'search', # REMOVE THIS LINE
|
|
# ...
|
|
]
|
|
```
|
|
|
|
## 5. Implementation Steps
|
|
1. Create new directory structure in core
|
|
2. Move view logic to `core/views/search.py`
|
|
3. Create URL config in `core/urls/search.py`
|
|
4. Move templates to `templates/core/search/`
|
|
5. Update all import references
|
|
6. Remove old search app
|
|
7. Test all search functionality:
|
|
- Park search filters
|
|
- Ride search
|
|
- HTMX filter updates
|
|
8. Verify URL routes
|
|
|
|
## 6. Verification Checklist
|
|
- [ ] All search endpoints respond with 200
|
|
- [ ] Filter forms render correctly
|
|
- [ ] HTMX updates work as expected
|
|
- [ ] No references to old search app in codebase
|
|
- [ ] Templates render with correct context |