Форум сайта python.su
Я новичок, поэтому не судите строго
У меня есть (пока нету) веб сервер написанный на джанго, это так званый ‘url shortener’. На этом сервере есть база данных, в которой содержаться все созданные пользователями ссылки и их краткие аналоги.
И я хочу сделать приложение (не мобильное), где так же можно будет сокращать ссылки. Тоесть пользователь вводит длинную ссылку, эта ссылка должна отправиться на сервер, на сервере должна создаться краткая и эта краткая ссылка переходит обратно к пользователю в приложении.
Так вот, как мне установить эту связь, чтобы данные могли переходить туда - сюда?
Я немного почитал про сокеты, но не до конца всё понял и не уверен, что это то, что мне нужно.
И ещё одно, это приложение должно поддерживать ‘многопользовательский режим’, тоесть много пользователей могут заходить одновременно получать свои ссылки.
Это мой первый пост здесь, поэтому не судите строго. Если вам показалось, что все выше написанное - полный бред, так и скажите
Офлайн
ваш браузер работает с вашим джанго приложением по http. Ваше приложение весьма вероятно должно работать также. Посылать HTTP запросы, получать ответы. Почитайте что такое API в аспекте HTTP. Можно даже сразу сказать про REST API.
Офлайн
Я тут немного почитал об rest api.
Тоесть, как я понимаю, мне нужно на базе джанго сервера создать rest api с помощью django rest framework и через приложения отправлять запросы на сервер и получать ответ.
Чтобы создать эй-пи-ай нужно: создать сериалайзер, чтобы данные были в формате json(только вот что в этом сериалайзере объявлять я не понимаю), потом в views.py создать класс, в котором объявить queryset с нужными мне данными, и потом добавить ссылки в urls.py
Я все правильно понимаю?
Если да, то вот ещё вопросы:
Пользователь из приложения должен отправлять какие-то данные на сервер (как именно сервер принимает эти данные и как именно пользователь их отправляет?), потом он их обрабатывает(где это описать(я так понимаю в views.py)?) и потом отправляет назад(это я так понимаю в return вписывается)
Офлайн
У вас сейчас слишком низкий уровень знаний что бы давать вам осмысленные ответы. Если вы не знаете как работает http протокол, то вам еще много учиться.
Скажем иначе - описанная вами задача не запределельно сложная, и вполне по силам для новичка, пускай может даже вам так кажется. Но идти к ней нужно постепенно. И срок выполнения быть 2-3 месяца.
Если вы настроены серьезно идти к этой цели. То сперва вам нужно получить хоть какой то пласт базовых знаний о вебе.
Далее можно освоить азы джанги, после этого построение апи.
И потом делать приложение.
На самом деле первым вашим приложением может стать браузер и JS код там (так называемая фронтовая часть).
Офлайн
Junior_Pythoneer123оки
Я новичок, поэтому не судите строго
Junior_Pythoneer123Тоже непонятно что это за приложение такое.
переходит обратно к пользователю в приложении.
Junior_Pythoneer123Непонятно как они их создают. Из интернета копируют? Создают на вашем сайте? Процесс создания чаще всего гораздо сложнее процесса отдавания значения по заданному ключику. Надо процесс создания тоже описать.
все созданные пользователями ссылки
Отредактировано doza_and (Июль 5, 2019 21:41:29)
Офлайн
Объясню подробней мой замысел.
Есть сайт, на который пользователь заходит, кидает свою длинную ссылку и получает короткую. Эти две ссылки заносяться в базу данных. Как работает эта ссылка: к примеру, доменное имя моего сайта abc.xy , тогда короткая ссылка будет выглядить так(например) abc.xy/qwerty. В базе данных сайта вместе с этой ссылкой записана длинная ссылка, которая соответствует краткой. Пользователь, который вводит в строку поиска эту ссылку отправляется на мой сайт и мой сайт переадресирует его на длинную ссылку. Надеюсь, понятно объяснил.
Теперь приложение. Мне показалось, что одного сайта будет мало и решил сделать ещё и приложение.
Как оно работает:
1. Пользователь пишет свою длинную ссылку
2. Эта ссылка идет на сервер
3. Там создаётся краткая ссылка и обе ссылки заносяться в базу данных
4. Краткая ссылка переходит назад к пользователю в приложение
Надеюсь опять все понятно.
Теперь, как сделать сайт я знаю, как сделать приложение я тоже знаю, мне нужно только каким то образом установить между ними связь.
Офлайн
Junior_Pythoneer123Ну судя по всему вы почти все знаете.
еперь, как сделать сайт я знаю, как сделать приложение я тоже знаю, мне нужно только каким то образом установить между ними связь.
Junior_Pythoneer123
2. Эта ссылка идет на сервер
3. Там создаётся краткая ссылка и обе ссылки заносяться в базу данных
Офлайн
Я не говорил, что знаю все, я просто ищу человека который знает все.
Ссылка должна создаваться рандомно на самом сервере.
Просто рандомно создаётся ссылка из 6-15 символов, используя библиотеку random.
А насчёт связи, то я не совсем понял
Офлайн
Junior_Pythoneer123
И я хочу сделать приложение (не мобильное), где так же можно будет сокращать ссылки. Тоесть пользователь вводит длинную ссылку, эта ссылка должна отправиться на сервер, на сервере должна создаться краткая и эта краткая ссылка переходит обратно к пользователю в приложении.
Junior_Pythoneer123
Есть сайт, на который пользователь заходит, кидает свою длинную ссылку и получает короткую. Эти две ссылки заносяться в базу данных. Как работает эта ссылка: к примеру, доменное имя моего сайта abc.xy , тогда короткая ссылка будет выглядить так(например) abc.xy/qwerty. В базе данных сайта вместе с этой ссылкой записана длинная ссылка, которая соответствует краткой. Пользователь, который вводит в строку поиска эту ссылку отправляется на мой сайт и мой сайт переадресирует его на длинную ссылку.
укороти_ссылку(исходная_ссылка) -> укороченная_ссылка
Офлайн
Спасибо, наконец-то достойный ответ!
Офлайн