Рубрики
Без рубрики

Мой журнал 100daysofcode – день 01

Эй, ребята! Так что это день 01 моего журнала 100daysofcode. Сегодня мы сделаем настройку и сначала позвоним … Tagged with React, Python, Mongodb.

Мой журнал 100daysOfCode (5 серии деталей)

Эй, ребята!

Так что это день 01 моего журнала 100daysofcode. Сегодня мы сделаем настройку и сначала получим звонок для API Flask.

Вот список того, что мы рассмотрим сегодня:

  1. Настройка среды
  2. Настройка проекта
  3. Создание первого вызова API 🤩

Настройка среды:

Итак, я использую машину Mac, так что Для настройки среды я должен установить после программного обеспечения:

  1. Python3
  2. Mongodb
  3. Пипенв
  4. Фляжка

Пойдем один за другим по зависимости и программному обеспечению

Python 3:

Чтобы установить Python3 на Mac вам необходимо установить Homebrew первый. Вы можете перейти к следующему Ссылка Чтобы установить Homebrew и просто следуйте инструкциям.

После того, как вы получите Homebrew Install просто запустить следующую команду

Brew установить Python3

Если все пойдет хорошо, вы сможете запустить следующую команду на iterm или terminal и получить вывод в ответ, как показано ниже, запустите

Python – –version

Версия Python

Mongodb

Теперь, когда у нас установлен Python3 на машине, нам нужно установить MongoDB на Mac Machine. Мы будем использовать варево для этой цели. Так что откройте терминал еще раз и запустите следующее набор команд.

Brew Tap Mongodb/пиво

Это добавит формулу MongoDB. Готово? Давайте установим издание MongoDB Community. Для этого мы запустим следующую команду

Brew установить mongodb-community@4.2

Это установит монго в вашу систему. Чтобы дважды проверить запуск

mongodb -версия

Вы получите следующие результаты

pyguy@himanshus-macbook-pro ~ % mongod-версия DB версия v4.2.1

Теперь мы должны убедиться, что MongoDB работает как услуга на заднем плане. Итак, мы выполним

Brew Services Start mongodb-community@4.2

Таким образом, мы все настроены с MongoDB, он работает в бэкэнд, тихо 🤫.

Мы переместимся в MongoDB позже в какой -то момент. Давайте перейдем к следующему шагу.

Настройка проекта

Pipenv, Flask & Flask_pymong

Теперь, чтобы установить Pipenv & Flask, мы должны сначала создать каталог кода, поэтому создайте один с любым именем с помощью пользовательского интерфейса или командной строки. Я в основном предпочитаю командную строку так что да…

Mkdir Pyguy

Как только это создано компакт -диск в каталог и давайте установим Pipenv с помощью PIP3, который уже установлен при установке Python3 с помощью Brew. Хорошо, теперь беги

PIP3 Установить Pipenv

Хорошо, теперь, когда среда Pipenv настроена в каталоге кода, будет создана PipFile.

Давайте активируем это 😁. Вам нужно бежать

Pipenv Shell

Вы увидите что -то подобное, как только он активируется.

Pipenv активирован

Видите, это (pyguy), перед окном нашего терминала? Это означает, что среда активна !!

Все хорошо, теперь мы установим наши зависимости. Теперь, когда наш Pipenv активен, мы установим колбу и Pimongo. Для этого Мы будем бежать

PIP3 Установить колбу Flask_pymongo

Хорошо, у нас установлены наши зависимости, поэтому все, что нам нужно сейчас сделать, это настройка каталогов.

Настройка каталога

Мы отделим свой бэкэнд и фронт для нашего проекта. Поскольку у нас будет отдельная передняя часть, которая будет Реагировать. Так так будет наша структура каталогов.

Структура каталога

Вы можете игнорировать файлы pipfile.lock, pyguy.code-workspace. PIPFILE.LOCK будет автоматически генерировать, а другой генерируется моим VSCODE, потому что я сохранил его как рабочее пространство.

Создание первого вызова API 🤩

Теперь, когда у нас все настройка, давайте пристегнем и сделаем наш звонок API.

Зайдите в каталог Backend, а затем создайте файл app.py. Файл app.py будет нашим базовым файлом. Откройте файл в своем любимом редакторе и вставьте следующий код. Я объясню код один за другим.

'''Flask App For PyGuy WebSite'''  

from flask import Flask, jsonify  
from flask_pymongo import PyMongo  

#App Definitions & Configs  
app = Flask(__name__)  
app.config["MONGO_DBNAME"] = 'pysite'  
app.config["MONGO_URI"] = "mongodb://localhost:27017/pysite"  
mongo = PyMongo(app)  

#This will be the index route ....  


"""  
Defining all API routes.   
"""  


@app.route("/", methods=['GET'])  
def index():  
    return "

Hi I am Himanshu :)

" @app.route('/posts', methods=['GET']) def articles(): articles = mongo.db.articles output = [] for q in articles.find(): output.append( {'title': q['title'], 'description': q['description'], 'tags': q['tag']}) return jsonify({'result': output}) if __name__ == "__main__": app.run(debug=True)

Давайте пройдемся через код …

” Приложение Flask для сайта Pyguy ” ”

Это наше определение приложения.

Чем давайте импортируем Flask и Jsonify, чтобы преобразовать вещи в JSON. Кроме того, импортируйте Pimongo, чтобы подключиться к нашему MongoDB.

from flask import Flask, jsonify  
from flask_pymongo import PyMongo

Далее мы определяем определения и конфигурации приложений. Самая первая строка – это то, где мы установили наш текущий класс. Здесь мы установили Флбу как наше имя.

app = Flask(__name__)

Теперь мы установим наши конфигурации приложения для установки, dbname, mongo db uri, а затем определим MongoDB, подключенный с помощью приложения Pymongo Mostraining в качестве параметра.

app.config["MONGO_DBNAME"] = 'pysite'  
app.config["MONGO_URI"] = "mongodb://localhost:27017/pysite"  
mongo = PyMongo(app)

Хорошо, затем мы сделаем наш индексный звонок. Вот как мы определяем маршрут индекса с помощью метода GET и возвращаем текст H1, когда вы просматриваете индекс API.

@app.route("/", methods=['GET'])  
def index():  
    return "

Hi I am Himanshu :)

"

Итак, чтобы перечислить наши сообщения, мы создадим наши маршруты следующим образом. Во -первых, мы определяем URL, который мы будем использовать, чтобы перейти на конкретный маршрут API. В нашем случае его /посты. Далее мы напишем определение, которое расскажет нам, что делать. Мы хотим перечислить все посты, поэтому в этом случае мы рассмотрим нашу коллекцию. Установив переменную статью со значением mongo.db.articles. Здесь Mongo выходит из нашего определения выше, мы используем .db.articles для доступа к коллекции статей, которая находится в нашей Mongodb.

@app.route('/posts', methods=['GET'])  
def articles():  
    articles = mongo.db.articles

В приведенном ниже коде мы инициализировали пустой массив, вывод. Как только мы получим доступ, мы сделаем петлю, чтобы запросить через Статьи определено выше. Мы добавим каждое значение Q клавишу в наш вывод и вернем jsonified вывода в ключ -результат.

output = []  

    for q in articles.find():  
        output.append(  
            {'title': q['title'], 'description': q['description'], 'tags': q['tag']})  
    return jsonify({'result': output})

Эта самая последняя строка будет запускать названную программу, которая является приложение как наше главное приложение. app.run оператор с запуска наше приложение в режиме отладки.

if __name__ == "__main__":  
    app.run(debug=True)

Теперь, чтобы запустить наш приложение Flask Application Open Terminal (активируйте Pipenv, если еще не) и перейдите к нашей папке «Бэкэнд» и проблеме Флэста бег командование Это даст аналогичный выход в терминале, как ниже.

(pyguy) pyguy@Himanshus-MacBook-Pro backend % flask run  
Environment: production  
WARNING: This is a development server. Do not use it in a production deployment.  
Use a production WSGI server instead.  
Debug mode: off  
Running on [http://127.0.0.1:5000/](http://127.0.0.1:5000/) (Press CTRL+C to quit)

Если вы хотите посмотреть, работают ли ваши вызовы API, перейдите к http://localhost: 5000/, вы увидите что -то подобное на странице индекса

Привет, я Химаншу:)

Этот урок не охватывает создание коллекций на MongoDB, которые я расскажу во 2 -й части того же. Это все на сегодня, если у вас есть комментарии, не стесняйтесь комментировать.

Мой журнал 100daysOfCode (5 серии деталей)

Оригинал: “https://dev.to/ihackthings/my-100daysofcode-journal-day-01-36o8”