Простой сбой подключения к базе данных в приложении Angular-Django-MongoDB
Я просто пытаюсь установить простое подключение к базе данных в приложении Angular-Django-MongoDB, с реальной базой данных MongoDB
под названием myDB, которая подключается к кластеру consumers
. Я знаю, что моя строка подключения mongodb+srv://MyUser2021:TestMe@cluster0.j9jz1.mongodb.net/test
Просто чтобы проверить, смогу ли я заставить все это общаться, я написал следующее в views.py
:
@csrf_exempt
def consumers():
print("consumers")
с его соответствием в urls.py
:
urlpatterns = [
url(r'^admin/', admin.site.urls), # http://localhost:8000/admin/
url(r'^consumers/', consumers),
url(r'^.*', TemplateView.as_view(template_name="home.html"), name="home")
]
В моем приложении Angular я написал для него простой сервисный скрипт:
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Post } from '../models/post.model';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
}
@Injectable()
export class DbService {
consumersMongodbApiUrl = "http://localhost:8000/consumers";
constructor(private httpClient: HttpClient) { }
addConsumerMongodb(post: Post): Observable<Post> {
return this.httpClient.post<Post>(this.consumersMongodbApiUrl, post, httpOptions);
}
}
Когда я вызываю какую-то функцию в другом месте, которая вызывает метод addConsumerMongodb
в этом классе служб, я получаю POST http://localhost:8000/consumers 403 (Forbidden)
в консоли dev моей веб-страницы.
Я просмотрел много и много сообщений об этом конкретном сообщении об ошибке, но пока мне ничего не помогло...
Может быть, consumersMongodbApiUrl
должен содержать фактическую ссылку на базу данных и кластер, к которому я пытаюсь подключиться, или ссылка в порядке (учитывая, что мое приложение обслуживается на http://127.0.0.1:8000
)?
Кроме того, учитывая, что я знаю строку подключения к реальной базе данных и использую следующий фрагмент (в views.py
) для подключения, что я делаю неправильно, что я не могу получить даже базовое простое подключение правильно? Я, конечно, новичок...
my_client = pymongo.MongoClient(settings.DB_NAME)
db_name = apchis_client['myDB']
Мне кажется странным то, что в вашем urls.py вы только определили потребителей в urlpatterns. Не могли бы вы предоставить весь файл urls.py.