Форум сайта python.su
Никак не могу войти в Back-End, а именно понять Django. Я никогда не работал с фреймворками, и сейчас не могу начать работу с ними. Я полностью понимаю язык Python, практикую ООП (даже знаю несколько шаблонов проектирования), но вот с фреймворками беда. Я понимаю суть работы фреймворков ( адаптация существующего ООП кода под себя), но вот с Django подружиться не могу. Я знаю HTML, CSS и немного javascript ( могу верстать несложные макеты ). Я понимаю основу Django фреймворка - это MVC шаблон, и вроде как понимаю процесс взаимодействия между клиентом и сервером (теоретически). Имею опыт с SQL. Имею представление о протоколе TCP/IP и как происходит передача данных в сети интернет.
Как мне найти этот мост в бэкенд разработку? Я пытался через силу просматривать ролики на ютубе тупо повторяя за автором (обычно всегда читаю книги по той или иной технологии), но все эти видео уже нацелены на то что зритель уже в сфере бэкенда и просто меняет фреймворк. Теоритически я знаю что такое шаблон, контролёр и вьювер, но на практике у меня такое чувство что я работаю с разработкой расширений под браузер гугл хром. Всё это дело ухудшает куча не совсем понятных терминов. Может есть какое то ПОЛНОЕ введение в эту область? Где показывают указкой на каждый скрипт и говорят за что он отвечает и какую роль играет? Как вы начали работать с Django?
Офлайн
дак попробуйте что-нибудь полегче Bottle например.
Офлайн
vic57
Да, я думал о том, чтобы сменить фреймворк, но потом осознал, что итак потратил очень много времени на изучение языка и на всё что с ним связано. Плюс, Django достаточно распротранён, да и обучающих материалов для него больше, да и у работадателей django это синоним python back-end разработчик.
Но я всё равно посмотрю в сторону Bottle, но думаю что врядли у меня получится его изучить.
Отредактировано ron_1 (Ноя. 19, 2017 14:08:41)
Офлайн
ron_1для учебных проектов очень неплох, освоить можно за день буквально
Но я всё равно посмотрю в сторону Bottle, но думаю что врядли у меня получится его изучить.
Офлайн
ron_1Начинай без Django, Django только облегчает решение твоих задач. Найди несколько открытых проектов на Django и посмотри, что они реализуют (какой сервис или службу), а затем изучай внутренности, чтобы понять, какую роль в этой реализации играет Django.
Никак не могу войти в Back-End, а именно понять Django.
[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]$
[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)
Офлайн
py.user.next
Дело не в django оказывается, я не понимаю сам процесс принятия, обработки и выдачи данных на стороне бэкенда. Я не могу понять как весь этот процесс происходит, я не использовал фреймворки до этого момента и не знаю как с django начать разговор. Должен же быть какой то путь к этому делу.
Я посмотрел в сторону bottle и так же сел на мягкое место как с джанго, только сел ещё больнее так как материалов для обучения недостаточно и там тоже всё идёт уже для просветлённых в бэкенде. Я новичок в бэкенде, я как старик который попал в далёкое будущее - я не понимаю алгоритм работы всей этой машины.
Я уже пересмотрел десятки видео на тематику django/back-end/интернет/www, и везде одно и тоже, причём есть видео для тех вообще не знает что это такое и есть видео для тех кто уже знает что это такое и надо всего лишь объяснить как это выполняется здесь (то есть в джанго), а вот моста (видео) между этими двумя берегами нету.
Я даже просмотрел пару лекций про back-end логику, но и там всё для тех кто уже знает “как” тыкать (надо только узнать “куда”).
Как вы изучили свой первый фреймворк? Как начали работать в back-end?
P.S Django это огромнейшая непонятная паутина где всё взаимосвязано и я не знаю как войти в эту паутину, с чего начать: пытаюсь изучить один модуль, а там отсылки ко второму и так со всеми.
Офлайн
ron_1бэкенд - это сервер. клиент дает запросы, сервер дает ответы.
Я посмотрел в сторону bottle и так же сел на мягкое место
Офлайн
vic57
Это как раз таки я и понимаю, а вот как всё это делается на языке фреймворков я не могу понять. К примеру:
@route('/') @route('/index.html') def index(): return "<a href='/hello'>Go to Hello World page</a>"
Офлайн
> Не могу войти в Back-End разработку.
А оно тебе надо? Я уже писал что в своё время 3 года на этот долбаный веб потратил и так ничего и не заработал.
Офлайн
ron_1роутинг аналогичен навигации по файловой системе
что за слэш внутри первого декоратора? Кто обрабатывает возвращаемое значение функции index и т.д
Rodegastкак говорит моя супруга: хочется - хуже чем болит
А оно тебе надо? Я уже писал что в своё время 3 года на этот долбаный веб потратил и так ничего и не заработал.
Офлайн