Python django whatsapp бот, позволяющий другим регистрироваться на БД без использования html
Создание проекта Django
django-admin startproject messages .
django-admin startapp whatsapp
python manage.py migrate
python manage.py runserver
Откройте файл settings.py из каталога messages
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'whatsapp.apps.WhatsappConfig', # ← new item
]
Откройте файл views.py из подкаталога whatsapp.
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def message(self):
return HttpResponse('Hello!')
Чтобы сделать эту конечную точку доступной через веб-приложение, необходимо присвоить ей URL. Откройте файл urls.py из директории messages и добавьте новую запись в список urlpatterns, как показано ниже:
from django.contrib import admin
from django.urls import path
from whatsapp import views # ← new import
urlpatterns = [
path('admin/', admin.site.urls),
path('message', views.message), # ← new item
]
Получение сообщений WhatsApp
Следующим шагом будет обновление логики внутри конечной точки message() для извлечения информации о входящем сообщении. Замените содержимое файла views.py в подкаталоге whatsapp следующим:
from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def message(request):
user = request.POST.get('From')
message = request.POST.get('Body')
print(f'{user} says {message}')
return HttpResponse('Hello!')
Отправка ответа В последний раз обновите файл views.py в поддиректории whatsapp следующим кодом:
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from twilio.twiml.messaging_response import MessagingResponse
@csrf_exempt
def message(request):
user = request.POST.get('From')
message = request.POST.get('Body')
print(f'{user} says {message}')
response = MessagingResponse()
response.message('Thank for your message! Do you want to signup'
return HttpResponse(str(response))
пока что это мой код на проекте и я хочу, чтобы он принимал имя пользователя и пароль формы основной только используя whatsapp