Михаиллл
Михаиллл14 июня 2019 г. 13:43

Как подключить Django

Добрый день.
Скачал Pyton 3.7 и Django 2,2,2 (в виде папки django-master).
Скажите пожалуйста, что теперь делать и как подключить ?
Если делаю так

>>> pip install Django==2.2.2
SyntaxError: invalid syntax

то получаю ошибку SyntaxError: invalid syntax
pip был отмечен галочкой при установке

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

30
Илья Чичак
  • 15 июня 2019 г. 6:34
  • (ред.)

вы пытаетесь вызвать команду pip из интерпретатора. это делается не так. pip - консольная утилита. ее нужно вызывать напрямую из консоли

давайте начнем с самого начала: сначала нужно создать виртуальное окружение.

для этого в windows нужно открыть командную строку, перейти в папку, в которой планируется создавать проект и написать

python -m venv venv
(venv - например, можно любое другое название)

затем надо активировать это окружение:

venv(или то название, которое вы выбрали)/Scripts/activate

и после этого надо уже ставить Django:

pip install django

Если у вас linux (и ubuntu) нужно сначала поставить venv:

sudo apt install python3-venv

после этого так же перейти в папку, где планируется писать проект, сделать

python3 -m venv .venv
(для linux я предпочитаю папку окружения назвать .venv, чтобы она была невидимой)

активировать окружение:

source .venv/bin/activate

после этого так же сделать

pip install django

лучше всего начать с чтения "Быстого старта" для Django: https://djbook.ru/rel1.9/
там версия старая, но приниципы не изменились

    Михаиллл
    • 15 июня 2019 г. 7:14
    • (ред.)

    Если я в консоли пишу

    python -m venv venv
    

    то получаю ошибку.
    И если так, то тоже ошибку

    python -m venv
    

    но при этом создалась папка venv

      Илья Чичак
      • 15 июня 2019 г. 7:18

      опять же: какая у вас ОС?

        Михаиллл
        • 15 июня 2019 г. 7:18

        виндовс 7 64бит про

          Михаиллл
          • 15 июня 2019 г. 7:19

          Вот скрин с ошибками

            Илья Чичак
            • 15 июня 2019 г. 7:38

            Для начала, попробуйте переустановить Python (в установочнике будет пункт Repair). и проконтролируйте, что будет отмечена галочка

            Add Python 3.7 to PATH
            . Это нужно чтобы из любого места можно было вызывать команду Python. и помимо этого там произойдет некоторая машинерия, чтобы дополнительные утилиты типа того же pip или venv заработали. Я пока постараюсь отрыть где-нибудь комп на Windows=) Мне несколько сложно - у меня сейчас под рукой только Ubuntu

              Михаиллл
              • 15 июня 2019 г. 7:41
              • (ред.)

              Я уже пробовал все удалять и при установке ставить все галочки. Результат тотже.
              А в видосах говорят что виртуальное окружение можно создать, написав в программе

              python -m venv venv
              

              и запустив ее, но у меня выдает ошибки. И вообще мой Pyton не принимает слов "pyton", "pip"

                Михаиллл
                • 15 июня 2019 г. 7:57
                • (ред.)

                Вставил недостоющие файлы питона в нужную папку, создал виртуальное окружение. Похоже был баг, питон не верно определил положение экзешников.

                Также в PyCharm подключил это окружение.
                После этого в cmd сработала команда

                pip install django
                

                что то видимо качалось , но не понятно куда.
                Похоже можно подключить скаченую папку django-master через PyCharm, но только как?

                  Илья Чичак
                  • 15 июня 2019 г. 8:10


                  Вобщем, у меня получилось так:

                  я создал в корне диска папку pytest, в ней вызвал python -m venv venv и создалась папка venv. После этого я вызвал venv/Scripts/activate и у меня активировалось окружение (приписка '(venv)' в начале строки). и после этого я установил Django через pip.

                  Если прям пошагово у вас не получится, я думаю, что надо гуглить ошибку и решать ее.

                  Был установлен Python 3.7.3 за пару минут до этого.

                    Михаиллл
                    • 15 июня 2019 г. 8:22

                    А что потом вы делали с Django ? Как его подключать к проекту?

                      Илья Чичак
                      • 15 июня 2019 г. 8:36

                      после того, как вы разобрались с Python я настоятельно советую поставить sqlite. как это сделать в windows - можно легко нагуглить. Пытаться работать с нормальными БД, типа PostgreSQL в Windows - себе дороже. Загадит полсистемы, а работать толком не будет. Для промышленной разработки на Python/Django - только linux (хотябы в виртуалке, типа virtualbox). Но это когда-нибудь потом.

                      После того, как у вас установился Python и sqlite, создано и активировано виртуальное окружение (вообще, его смысл в том, чтобы изолировать необходимые для проекта пакеты от пакетов других проектов. Всегда каждый проект должен начинаться с создания виртуального окружения - это уже стандарт де-факто), установлен Django - вам становится доступна команда django-admin. Она примитивна и нужна для создания самого базового проекта:

                      django-admin startproject <название проекта>
                      (обратите внимание, что стоит использовать только литиницу и желательно обойтись без спецсимволов)

                      после этого в папке <название проекта> будут созданы папка с названием проекта и файл manage.py. для проверки того, что все установилось правильно и все работает - выполните команду (с активированным виртуальным окружением!):

                      python manage.py runserver

                      и после этого перейдите в браузере по адресу http://127.0.0.1:8000/. там вы должны увидеть приветствие.

                      если все сделано правильно, открывайте Django book (https://djbook.ru/rel1.9/) и читайте. начните прямо с начала. и повторяйте то, что там написано. Но сразу предупрежу - в Django book используется версия 1.9. и в 2.2.2 немного переработана система работы с URL. как дойдете до этоого места - можете почитать офф документацию. ну или написать сюда=)

                        Михаиллл
                        • 15 июня 2019 г. 9:08
                        • (ред.)

                        SQLite уже стоит на компе.
                        Попробовал повторить, командная строка говорит что джанго установлен.
                        Посмотрел, в папке E:\Programs\Python\Python37\Lib\site-packages появились 2 папки с джанго (наверно сразу туда можно было закинуть), хотя их содержание отличается от скаченой.
                        После этого я еще раз сделал виртуализацию, теперь PyCharm использует виртуализацию с джанго.
                        Но как проверить в проекте, что джанго раюотает?
                        Все эти команды в проекте приводят к ошибкам

                        # import django
                        # print(django.get_version())
                        #python3 --version
                        #pyton -V
                        #pyton  --version
                        #pip -V
                        #pip --version
                        #pip listcd
                        

                        работает только

                        import sys
                        print("pyton version")
                        print(sys.version_info)
                        

                        Виртуальное окружение точно работает, так как выдается первая строчка в компиляторе
                        E:\PytonProjects\test1\venv\Scripts\python.exe "E:\Programs\PyCharm Community Edition 2019.1.3\helpers\pydev\pydevconsole.py" --mode=client --port=51971

                          Михаиллл
                          • 15 июня 2019 г. 9:19

                          При этом у всех работает pip list а меня нет. В чем может быть касяк?

                            Илья Чичак
                            • 15 июня 2019 г. 9:22

                            Django не надо качать руками - вы не сможете сделать все необходимые манипуляции (типа симлинков для django-admin и прочих мелочей)

                            лучше всего удалите Django из E:\Programs\Python\Python37\Lib\site-packages с помощью команды (без виртуального окружения) pip uninstall django pytz sqlparse

                            Виртуализация сделана для того, чтобы изолировать проектаные библиотеки. Например в одном проекте вы используете Django 1.11, а в другом Django 2.2. если у вас будет установлено Django глобально, то будет использоваться только он. А так у каждого проекта свое окружение со своей версией Django и они друг другу не мешают.

                            я не совсем понимаю, как вы ходите интегрировать Django в проект.

                            попробуйте для начала просто изолированно поставить Django и запустить сервер. тоесть выполнить:

                            cd e:\
                            mkdir django_test_project
                            cd django_test_project
                            python -m venv venv
                            venv\Scripts\activate
                            pip install django
                            django-admin startproject project
                            cd project
                            python manage.py runserver

                            если все пройдет правильно, у вас будет базовая структура Django-проекта.

                            а там дальше на базе нее можно уже делать что угодно.

                            а лучше всего почитайте про venv, что это и зачем, например вот тут: https://python-scripts.com/virtualenv

                              Михаиллл
                              • 15 июня 2019 г. 9:42

                              Появилась папка django_test_project, в ней venv и project.
                              В project тоже папка project, db.sqlite3 и manage.py.
                              Скажите пожалуйста, что с эти делать?

                                Илья Чичак
                                • 15 июня 2019 г. 9:59

                                Это и есть базовая структура django проекта. если после команды python manage.py runserver в браузере на адресу 127.0.0.1:8000 показывается страница с приветствием, значит все установлено правильно. дальше все зависит от вас - изучайте документацию и пишите, что хотите.

                                  Михаиллл
                                  • 15 июня 2019 г. 10:30

                                  При попытке запуска manage.py получаю такое окно.
                                  Скажите пожалуйста, что это значит и что с ним делать?
                                  Если нажимаю выполнить, получаю ошибку :
                                  Configuration is still im incorrect

                                    Михаиллл
                                    • 15 июня 2019 г. 10:33

                                    Добавил интерпритатор и получил таие ошибки

                                    E:\Programs\Python\Python37\python.exe E:/django_test_project/project/manage.py
                                    Traceback (most recent call last):
                                      File "E:/django_test_project/project/manage.py", line 10, in main
                                        from django.core.management import execute_from_command_line
                                    ModuleNotFoundError: No module named 'django'
                                    
                                    The above exception was the direct cause of the following exception:
                                    
                                    Traceback (most recent call last):
                                      File "E:/django_test_project/project/manage.py", line 21, in <module>
                                        main()
                                      File "E:/django_test_project/project/manage.py", line 16, in main
                                        ) from exc
                                    ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
                                    
                                    Process finished with exit code 1
                                    
                                    
                                      Михаиллл
                                      • 15 июня 2019 г. 10:37
                                      • (ред.)

                                      может быть касяк с самим pyton?

                                        Илья Чичак
                                        • 15 июня 2019 г. 10:54
                                        • Ответ был помечен как решение.

                                        слова pyton в нем нет. есть Python

                                        в настройках pycharm нужно указать интерпретатор, находящийся в E:\django_test_project\venv\bin\python, а вы указали глобальный.

                                        при запуске manage.py нужно указать параметр runserver, поскольку сам по себе manage.py не делает ничего.

                                        а вообще, для начала, попробуйте просто из консоли запустить сервер. и я вам посоветовал бы поработать для начала в каком-нибудь vscode или notepad++.

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

                                          Михаиллл
                                          • 15 июня 2019 г. 11:04

                                          Подключил сделанный интерпритатор, все заработало, большое спасибо за помощь.
                                          При запуске выдает это:

                                          E:\django_test_project\venv\Scripts\python.exe E:/django_test_project/project/manage.py
                                          
                                          Type 'manage.py help <subcommand>' for help on a specific subcommand.
                                          
                                          Available subcommands:
                                          
                                          [auth]
                                              changepassword
                                              createsuperuser
                                          
                                          [contenttypes]
                                              remove_stale_contenttypes
                                          
                                          [django]
                                              check
                                              compilemessages
                                              createcachetable
                                              dbshell
                                              diffsettings
                                              dumpdata
                                              flush
                                              inspectdb
                                              loaddata
                                              makemessages
                                              makemigrations
                                              migrate
                                              sendtestemail
                                              shell
                                              showmigrations
                                              sqlflush
                                              sqlmigrate
                                              sqlsequencereset
                                              squashmigrations
                                              startapp
                                              startproject
                                              test
                                              testserver
                                          
                                          [sessions]
                                              clearsessions
                                          
                                          [staticfiles]
                                              collectstatic
                                              findstatic
                                              runserver
                                          
                                          Process finished with exit code 0
                                          
                                          
                                            Илья Чичак
                                            • 15 июня 2019 г. 11:17

                                            в графе parameters укажите runserver

                                              Михаиллл
                                              • 15 июня 2019 г. 11:48

                                              Спасибо.
                                              Программа выдала следующее (кликнул по ссылке, браузер открыл сайт с картинкой ракеты):

                                              E:\django_test_project\venv\Scripts\python.exe E:/django_test_project/project/manage.py runserver
                                              Performing system checks...
                                              Watching for file changes with StatReloader
                                              
                                              System check identified no issues (0 silenced).
                                              
                                              You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
                                              Run 'python manage.py migrate' to apply them.
                                              June 15, 2019 - 18:46:27
                                              Django version 2.2.2, using settings 'project.settings'
                                              Starting development server at http://127.0.0.1:8000/
                                              Quit the server with CTRL-BREAK.
                                              [15/Jun/2019 18:46:34] "GET / HTTP/1.1" 200 16348
                                              [15/Jun/2019 18:46:34] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
                                              [15/Jun/2019 18:46:34] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
                                              [15/Jun/2019 18:46:34] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
                                              [15/Jun/2019 18:46:34] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
                                              Not Found: /favicon.ico
                                              [15/Jun/2019 18:46:34] "GET /favicon.ico HTTP/1.1" 404 1973
                                              
                                              
                                                Илья Чичак
                                                • 15 июня 2019 г. 14:25

                                                Ну а что дальше требуется?

                                                  Михаиллл
                                                  • 16 июня 2019 г. 2:04

                                                  Дальше буду изучать как сделать REST API. Большое спасибо вам за помощь.
                                                  Если у вас вдруг окажется ссылка на статью, описывающую как это сделать, скиньте пожалуйста, а если нет, то в любом случае я вам очень благадарен.

                                                    Михаиллл
                                                    • 16 июня 2019 г. 7:27

                                                    Скажите пожалуйста в комплекте с django поставился ли djangorestframework или его нужно дополнителльно поставить командой

                                                    pip install djangorestframework
                                                    

                                                    ?

                                                      Илья Чичак
                                                      • 16 июня 2019 г. 7:46

                                                      читайте документацию, там есть ответы на 90% вопросов. и вообще, изучите инструмент, с которым вы работаете. или может быть воо

                                                        Михаиллл
                                                        • 16 июня 2019 г. 11:27
                                                        • (ред.)

                                                        Нашел статью с описанием django_rest_framework.
                                                        В ней пишется что сначало нужно написать

                                                        pip install djangorestframework
                                                        pip install markdown  
                                                        pip install pyyaml    
                                                        pip install django-filter  
                                                        

                                                        Я зашел в пустую папку и так прописал. Что-то устонавливалось, но в папке оказалось пусто.
                                                        Нужно сначало писать

                                                        pip install djangorestframework
                                                        
                                                        И можно поставить дополнительные пакеты:
                                                        pip install markdown  
                                                        pip install pyyaml    
                                                        pip install django-filter  
                                                        

                                                        или ошибка гдето- еще?
                                                        И скажите пожалуйста, куда устанавливалось скаченное?

                                                        оказывается так все сразу устанавливается в основной pyton

                                                          Илья Чичак
                                                          • 16 июня 2019 г. 11:36

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

                                                            Михаиллл
                                                            • 16 июня 2019 г. 11:39

                                                            хорошо, спасибо

                                                              Комментарии

                                                              Только авторизованные пользователи могут публиковать комментарии.
                                                              Пожалуйста, авторизуйтесь или зарегистрируйтесь
                                                              e
                                                              • ehot
                                                              • 31 марта 2024 г. 21:29

                                                              C++ - Тест 003. Условия и циклы

                                                              • Результат:78баллов,
                                                              • Очки рейтинга2
                                                              B

                                                              C++ - Тест 002. Константы

                                                              • Результат:16баллов,
                                                              • Очки рейтинга-10
                                                              B

                                                              C++ - Тест 001. Первая программа и типы данных

                                                              • Результат:46баллов,
                                                              • Очки рейтинга-6
                                                              Последние комментарии
                                                              k
                                                              kmssr9 февраля 2024 г. 2:43
                                                              Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                                                              АК
                                                              Анатолий Кононенко5 февраля 2024 г. 9:50
                                                              Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                                                              EVA
                                                              EVA25 декабря 2023 г. 18:30
                                                              Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
                                                              J
                                                              JonnyJo25 декабря 2023 г. 16:38
                                                              Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
                                                              G
                                                              Gvozdik19 декабря 2023 г. 5:01
                                                              Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
                                                              Сейчас обсуждают на форуме
                                                              a
                                                              a_vlasov14 апреля 2024 г. 13:41
                                                              Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
                                                              Павел Дорофеев
                                                              Павел Дорофеев14 апреля 2024 г. 9:35
                                                              QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
                                                              f
                                                              fastrex4 апреля 2024 г. 11:47
                                                              Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
                                                              P
                                                              Pisych27 февраля 2023 г. 12:04
                                                              Как получить в массив значения из связанной модели? Спасибо, разобрался:))
                                                              AC
                                                              Alexandru Codreanu19 января 2024 г. 19:57
                                                              QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…

                                                              Следите за нами в социальных сетях