Conversation
| && rm -rf /var/lib/apt/lists/* | ||
|
|
||
| # Копируем requirements.txt | ||
| COPY ../requirements.txt . |
There was a problem hiding this comment.
Нужно использовать poerty или uv
В этом проекте пусть останется, но в следующем другоц пакетный менеджер
hotel/Dockerfile
Outdated
| EXPOSE 8000 | ||
|
|
||
| # Запускаем сервер | ||
| CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] No newline at end of file |
hotel/docker-compose.yml
Outdated
| @@ -0,0 +1,40 @@ | |||
| services: | |||
| db: | |||
| image: postgres:15 | |||
There was a problem hiding this comment.
лучше использовать более новую версию постгри
hotel/hotel/settings.py
Outdated
| # See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/ | ||
|
|
||
| # SECURITY WARNING: keep the secret key used in production secret! | ||
| SECRET_KEY = 'django-insecure-qd92hjb#a)qrwivifedzj@+lgvpwzn5c065ab@6x9v@ow236%_' |
There was a problem hiding this comment.
Такое нельзя защивать в код, это нужно брать из переменных окружения
There was a problem hiding this comment.
Я в сетинге особо не менял, поэтому откуда там secret key я не шарю, не совсем понял про то, что надо брать из переменных окружения.
| # Database | ||
| # https://docs.djangoproject.com/en/5.2/ref/settings/#databases | ||
|
|
||
| DATABASES = { |
There was a problem hiding this comment.
а чего тут не постгрес?
sqlite не используют в прод средах
| id = models.AutoField(primary_key=True) | ||
| description = models.TextField() | ||
| price = models.IntegerField() | ||
| date_create = models.DateTimeField(auto_now_add=True) |
There was a problem hiding this comment.
стоит добавить поля created_at и updated_at
| id = models.AutoField(primary_key=True) | ||
| room = models.ForeignKey(HotelRooms, on_delete=models.CASCADE) | ||
| check_in_date = models.DateField() | ||
| check_out_date = models.DateField() |
There was a problem hiding this comment.
стоит добавить поля created_at и updated_at
hotel/hotel_app/urls.py
Outdated
| path('rooms/add/', views.add_room, name='add_room'), | ||
| path('rooms/<int:room_id>/delete/', views.delete_room, name='delete_room'), | ||
| path('rooms/<int:room_id>/bookings/', views.get_reservations, name='list_reservations'), | ||
| path('bookings/create/', views.create_reservation, name='create_booking'), |
There was a problem hiding this comment.
Почитай про принципы REST , глаголы не принято использовать
There was a problem hiding this comment.
Дальше там тоже есть такие же ошибки
hotel/hotel_app/views.py
Outdated
| def index(request): | ||
| return JsonResponse({'message': 'Hotel API is running'}) | ||
|
|
||
| def get_room_detail(request, room_id): |
There was a problem hiding this comment.
Лучше использовать уже встроенные джанго классы. Посмотри CBV и давай сделаем апишку через Django REST Framework
|
|
||
| urlpatterns = [ | ||
| path('admin/', admin.site.urls), | ||
| path('api/v1/hotel/', HotelRoomsList.as_view()), |
There was a problem hiding this comment.
обычно пишется во множественно числе hotels
| path('admin/', admin.site.urls), | ||
| path('api/v1/hotel/', HotelRoomsList.as_view()), | ||
| path('api/v1/hotel/<int:pk>/', HotelRoomsUpdate.as_view()), | ||
| path('api/v1/hoteldelete/<int:pk>/', HotelRoomsDestroy.as_view()), |
| COPY ../requirements.txt . | ||
|
|
||
| # Устанавливаем Python зависимости | ||
| RUN pip install -r requirements.txt uvicorn |
No description provided.