Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 19, 2017 13:56:10

ron_1
Зарегистрирован: 2017-10-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

Никак не могу войти в Back-End, а именно понять Django. Я никогда не работал с фреймворками, и сейчас не могу начать работу с ними. Я полностью понимаю язык Python, практикую ООП (даже знаю несколько шаблонов проектирования), но вот с фреймворками беда. Я понимаю суть работы фреймворков ( адаптация существующего ООП кода под себя), но вот с Django подружиться не могу. Я знаю HTML, CSS и немного javascript ( могу верстать несложные макеты ). Я понимаю основу Django фреймворка - это MVC шаблон, и вроде как понимаю процесс взаимодействия между клиентом и сервером (теоретически). Имею опыт с SQL. Имею представление о протоколе TCP/IP и как происходит передача данных в сети интернет.
Как мне найти этот мост в бэкенд разработку? Я пытался через силу просматривать ролики на ютубе тупо повторяя за автором (обычно всегда читаю книги по той или иной технологии), но все эти видео уже нацелены на то что зритель уже в сфере бэкенда и просто меняет фреймворк. Теоритически я знаю что такое шаблон, контролёр и вьювер, но на практике у меня такое чувство что я работаю с разработкой расширений под браузер гугл хром. Всё это дело ухудшает куча не совсем понятных терминов. Может есть какое то ПОЛНОЕ введение в эту область? Где показывают указкой на каждый скрипт и говорят за что он отвечает и какую роль играет? Как вы начали работать с Django?

Офлайн

#2 Ноя. 19, 2017 14:03:22

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

дак попробуйте что-нибудь полегче Bottle например.

Офлайн

#3 Ноя. 19, 2017 14:07:38

ron_1
Зарегистрирован: 2017-10-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

vic57
Да, я думал о том, чтобы сменить фреймворк, но потом осознал, что итак потратил очень много времени на изучение языка и на всё что с ним связано. Плюс, Django достаточно распротранён, да и обучающих материалов для него больше, да и у работадателей django это синоним python back-end разработчик.
Но я всё равно посмотрю в сторону Bottle, но думаю что врядли у меня получится его изучить.

Отредактировано ron_1 (Ноя. 19, 2017 14:08:41)

Офлайн

#4 Ноя. 19, 2017 14:24:44

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

ron_1
Но я всё равно посмотрю в сторону Bottle, но думаю что врядли у меня получится его изучить.
для учебных проектов очень неплох, освоить можно за день буквально
https://github.com/bottlepy

Офлайн

#5 Ноя. 20, 2017 02:48:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9729
Репутация: +  843  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

ron_1
Никак не могу войти в Back-End, а именно понять Django.
Начинай без Django, Django только облегчает решение твоих задач. Найди несколько открытых проектов на Django и посмотри, что они реализуют (какой сервис или службу), а затем изучай внутренности, чтобы понять, какую роль в этой реализации играет Django.

Тут вот сделал базу данных
https://testflaskapp.herokuapp.com

Содержимое бэкенда:

app.py
[guest@localhost testflaskapp]$ cat app.py 

from flask import Flask
from flask import render_template
from flask import request, redirect, url_for

import pgsqlconn

app = Flask(__name__)

@app.route('/')
def index():
return render_template('index.html', title="Index")

@app.route('/db')
def get_database_data():
data = pgsqlconn.get_data()
return render_template('database.html', title="Database", data=data)

@app.route('/dbupdate', methods=['POST'])
def update_database_data():
message = request.form['record']
if message:
data = pgsqlconn.get_data()
number = len(data) + 1
pgsqlconn.append_data(number, message)
return redirect(url_for('get_database_data'))

@app.route('/dbclean')
def clean_database():
pgsqlconn.clean_all_data()
return redirect(url_for('get_database_data'))
[guest@localhost testflaskapp]$

pgsqlconn.py
[guest@localhost testflaskapp]$ cat pgsqlconn.py 
#!/usr/bin/env python3

import psycopg2

def get_data():
conn = psycopg2.connect(
host='hostname.amazonaws.com',
port='5432',
dbname='databasename',
user='username',
password='password'
'password')
conn.set_client_encoding('utf-8')
cur = conn.cursor()
cur.execute('select * from tab')
out = cur.fetchall()
conn.close()
return out

def append_data(number, message):
conn = psycopg2.connect(
host='hostname.amazonaws.com',
port='5432',
dbname='databasename',
user='username',
password='password'
'password')
conn.set_client_encoding('utf-8')
cur = conn.cursor()
cur.execute("insert into tab values (%s, %s)", (number, message))
conn.commit()
conn.close()
return True

def clean_all_data():
conn = psycopg2.connect(
host='hostname.amazonaws.com',
port='5432',
dbname='databasename',
user='username',
password='password'
'password')
cur = conn.cursor()
cur.execute("delete from tab")
conn.commit()
conn.close()
return True

def main():
print(get_data())

if __name__ == '__main__':
main()
[guest@localhost testflaskapp]$



Отредактировано py.user.next (Ноя. 20, 2017 02:56:53)

Офлайн

#6 Ноя. 20, 2017 19:33:03

ron_1
Зарегистрирован: 2017-10-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

py.user.next
Дело не в django оказывается, я не понимаю сам процесс принятия, обработки и выдачи данных на стороне бэкенда. Я не могу понять как весь этот процесс происходит, я не использовал фреймворки до этого момента и не знаю как с django начать разговор. Должен же быть какой то путь к этому делу.
Я посмотрел в сторону bottle и так же сел на мягкое место как с джанго, только сел ещё больнее так как материалов для обучения недостаточно и там тоже всё идёт уже для просветлённых в бэкенде. Я новичок в бэкенде, я как старик который попал в далёкое будущее - я не понимаю алгоритм работы всей этой машины.

Я уже пересмотрел десятки видео на тематику django/back-end/интернет/www, и везде одно и тоже, причём есть видео для тех вообще не знает что это такое и есть видео для тех кто уже знает что это такое и надо всего лишь объяснить как это выполняется здесь (то есть в джанго), а вот моста (видео) между этими двумя берегами нету.

Я даже просмотрел пару лекций про back-end логику, но и там всё для тех кто уже знает “как” тыкать (надо только узнать “куда”).

Как вы изучили свой первый фреймворк? Как начали работать в back-end?

P.S Django это огромнейшая непонятная паутина где всё взаимосвязано и я не знаю как войти в эту паутину, с чего начать: пытаюсь изучить один модуль, а там отсылки ко второму и так со всеми.

Офлайн

#7 Ноя. 20, 2017 19:43:58

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

ron_1
Я посмотрел в сторону bottle и так же сел на мягкое место
бэкенд - это сервер. клиент дает запросы, сервер дает ответы.
http://bottlepy.org/docs/0.9/tutorial.html
браузером заходишь на localhost:8080/hello, получаешь ответ сервера
что именно непонятно здесь?

Офлайн

#8 Ноя. 20, 2017 20:14:28

ron_1
Зарегистрирован: 2017-10-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

vic57
Это как раз таки я и понимаю, а вот как всё это делается на языке фреймворков я не могу понять. К примеру:

 @route('/')
@route('/index.html')
def index():
    return "<a href='/hello'>Go to Hello World page</a>"
что за слэш внутри первого декоратора? Кто обрабатывает возвращаемое значение функции index и т.д

Офлайн

#9 Ноя. 20, 2017 20:16:09

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

> Не могу войти в Back-End разработку.

А оно тебе надо? Я уже писал что в своё время 3 года на этот долбаный веб потратил и так ничего и не заработал.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#10 Ноя. 20, 2017 20:27:46

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Не могу войти в Back-End разработку.

ron_1
что за слэш внутри первого декоратора? Кто обрабатывает возвращаемое значение функции index и т.д
роутинг аналогичен навигации по файловой системе
1.('/') корень файловой системы приложения (root)
('/index.html') - отсылаемый файл по умолчанию
2. сервер отсылает html-код, клиент его отображает
Rodegast
А оно тебе надо? Я уже писал что в своё время 3 года на этот долбаный веб потратил и так ничего и не заработал.
как говорит моя супруга: хочется - хуже чем болит


Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version