Я создал хорошее приложение Django, все работало отлично. К сожалению, теперь мне нужно БЫСТРО перенести все на django -rest-framework и на VUE внешний интерфейс. Я отвечаю за бэкэнд, кто-то другой напишет код внешнего интерфейса.
Проблема в том, что у меня действительно сложные Django представления, и я не могу понять, как их изменить. правильно и легко, а главное, как их тестировать без внешнего интерфейса.
Вот пример моего взгляда. Я создал приложение, которое будет искать в Google какой-либо запрос, а затем извлекать основной текст из каждой ссылки. На той же странице, где вы вставляете запрос, будут отображаться первые 10 ссылок, если вы хотите больше поработать, вам нужно go перейти на следующую страницу.
Это означает, что в том же представлении у меня есть первый QueryForm. Если строка передана, начинается очистка, если вы хотите очистить больше, то передается query_id.
def query_create (request):
form = QueryForm(request.POST)
user_p = UserProfile.objects.filter(user=request.user).first()
context={'form1':form1}
if request.method == 'POST' :
if form.is_valid():
query_obj = form.save(commit=False)
query_obj.user = user_p
query_string=query_obj.query
search_engine=query_obj.search_engine
query_obj.save()
data=multi_scraping.scrape(query_obj.search_dict, 0, 10,query_string)
queryset=[]
for index, row in data.iterrows():
link = Link(scraping_id=str(query_obj),
isBlocked=row['isBlocked'],
published_Date=row['published'],
modified_date=row['update'],
language=row['language'],
search_engine=row['search_engine'],
source=row['source'],
source_url=row['source_url'],
title=row['title'],
transcript=row['transcript'],
url=row['url']
)
link.save()
queryset.append(link)
context = {
"object_list": queryset,
"query_id": query_obj.query_id,
"p":query_obj.p,
"user":user_p
}
return render(request, "news/home.html", context)
if(request.POST.get('query_id', None) is not None):
query_id=request.POST.get('query_id', None)
query_obj=Query.objects.get(pk=query_id)
query_string=query_obj.query
query_obj.p=query_obj.p+10
query_obj.save()
data = multi_scraping.scrape(search_dict, query_obj.p, query_obj.p+10, query_string)
queryset = []
for index, row in data.iterrows():
link = Link(scraping_id=str(query_obj),
isBlocked=row['isBlocked'],
published_Date=row['published'],
modified_date=row['update'],
language=row['language'],
search_engine=row['search_engine'],
source=row['source'],
source_url=row['source_url'],
title=row['title'],
transcript=row['transcript'],
url=row['url']
)
link.save()
queryset.append(link)
context = {
"object_list": queryset,
"query_id": query_obj.query_id,
"p": query_obj.p,
"user": user_p
}
return render(request, "news/home.html", context)
У вас есть идеи, как помочь? все будет оценено !!!!!