Как структурировать мой веб-проект Django? - PullRequest
0 голосов
/ 30 января 2019

Я довольно новичок в программировании и у меня все еще есть проблемы с структурированием моих проектов в Django.Я настраиваю приложение веб-скребка, и моя цель состоит в том, чтобы визуализировать очищенные данные и возвращать их в виде диаграмм разных типов.

На данный момент у меня есть код очистки в файле views.py.

Мой вопрос: есть ли предпочтительная структура каталогов для приложений такого типа?

Я думал о:

-установке кода очистки в новом scrape.py

- настройка моделей для подачи данных в models.py

- настройка кода визуализации в views.py

Это мой views.py atm:

from django.shortcuts import render
from django.views.generic import TemplateView

import requests
from bs4 import BeautifulSoup


def PlayerDetailView(request):

    first_name = 'Drew'
    last_name = 'Brees'
    last_name_first_letter = last_name[0]
    last_name_first_four = last_name[0:4]
    first_name_first_two = first_name[0:2]


    page = requests.get('https://www.pro-football-reference.com/players/{}/{}{}00.htm'.format(last_name_first_letter,                                                                                            last_name_first_four,                                                                                                                                first_name_first_two))


    content = page.content

    week_number = 251
    stats = soup.find("tr", {"id": "stats.{}".format(week_number)})

    stats_relevant = ['pass_yds', 'pass_td', 'rush_yds']
    stat_list = []


for stat in stats_relevant:
    stat_list.append(int(list(stats.find("td", {"data-stat": "{}".format(stat)}).children)[0]))

dic_list = {'tag':stat_list}
    return render(request,'league_app/player.html', context=dic_list)

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Недавно я работал над проектом очистки веб-страниц во Flask и предоставлял функции очистки в качестве вызываемого API через Flask.Таким образом, я могу легко протестировать API и функции через curl вызовы или простой интерфейс с несколькими JavaScript, в зависимости от ваших предпочтений.

Итак, в приведенном выше случае мы могли бы иметь:

  • Функции очистки в "scraping.py"
  • Код сервера (Django или Flask) в "controller.py"
  • Код базы данных или структуры данных в "моделях".py "
  • (Необязательно) Код веб-сайта в связанных файлах HTML, CSS и JavaScript

После того, как несколько функций были перенаправлены на URI, вы можете запустить сервер с помощьювызов файла «controller.py» и выполнение вызовов API, таких как:

curl -o output.json http://localhost:5000/getjson

Я бы больше хотел изучить возможности curl, особенно для целей быстрой разработки.Лично я нашел много информации на https://docs.python -guide.org / относительно правильного структурирования программы.В нем подробно рассказывается о практически всем, что вы можете придумать.Надеюсь, это поможет!

0 голосов
/ 30 января 2019

Сначала создайте модель данных для сохранения очищенных данных, затем используйте очередь задач, используя Celery , чтобы очистить данные и затем сохранить их в своей базе данных.Визуализируйте свои данные, используя данные в вашей базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...