Михаиллл
June 14, 2019, 11:43 p.m.

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

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

  1. >>> pip install Django==2.2.2
  2. SyntaxError: invalid syntax

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

3

Do you like it? Share on social networks!

30
Илья Чичак
  • June 15, 2019, 4:34 p.m.
  • (edited)

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

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

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

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

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

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

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

  1. pip install django

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

  1. sudo apt install python3-venv

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

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

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

  1. source .venv/bin/activate

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

  1. pip install django

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

    Михаиллл
    • June 15, 2019, 5:14 p.m.
    • (edited)

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

    1. python -m venv venv

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

    1. python -m venv

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

      Илья Чичак
      • June 15, 2019, 5:18 p.m.

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

        Михаиллл
        • June 15, 2019, 5:18 p.m.

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

          Михаиллл
          • June 15, 2019, 5:19 p.m.

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

            Илья Чичак
            • June 15, 2019, 5:38 p.m.

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

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

              Михаиллл
              • June 15, 2019, 5:41 p.m.
              • (edited)

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

              1. python -m venv venv

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

                Михаиллл
                • June 15, 2019, 5:57 p.m.
                • (edited)

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

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

                1. pip install django

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

                  Илья Чичак
                  • June 15, 2019, 6:10 p.m.


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

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

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

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

                    Михаиллл
                    • June 15, 2019, 6:22 p.m.

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

                      Илья Чичак
                      • June 15, 2019, 6:36 p.m.

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

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

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

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

                      1. 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. как дойдете до этоого места - можете почитать офф документацию. ну или написать сюда=)

                        Михаиллл
                        • June 15, 2019, 7:08 p.m.
                        • (edited)

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

                        1. # import django
                        2. # print(django.get_version())
                        3. #python3 --version
                        4. #pyton -V
                        5. #pyton --version
                        6. #pip -V
                        7. #pip --version
                        8. #pip listcd

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

                        1. import sys
                        2. print("pyton version")
                        3. 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

                          Михаиллл
                          • June 15, 2019, 7:19 p.m.

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

                            Илья Чичак
                            • June 15, 2019, 7:22 p.m.

                            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 и запустить сервер. тоесть выполнить:

                            1. cd e:\
                            2. mkdir django_test_project
                            3. cd django_test_project
                            4. python -m venv venv
                            5. venv\Scripts\activate
                            6. pip install django
                            7. django-admin startproject project
                            8. cd project
                            9. python manage.py runserver

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

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

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

                              Михаиллл
                              • June 15, 2019, 7:42 p.m.

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

                                Илья Чичак
                                • June 15, 2019, 7:59 p.m.

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

                                  Михаиллл
                                  • June 15, 2019, 8:30 p.m.

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

                                    Михаиллл
                                    • June 15, 2019, 8:33 p.m.

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

                                    1. E:\Programs\Python\Python37\python.exe E:/django_test_project/project/manage.py
                                    2. Traceback (most recent call last):
                                    3. File "E:/django_test_project/project/manage.py", line 10, in main
                                    4. from django.core.management import execute_from_command_line
                                    5. ModuleNotFoundError: No module named 'django'
                                    6.  
                                    7. The above exception was the direct cause of the following exception:
                                    8.  
                                    9. Traceback (most recent call last):
                                    10. File "E:/django_test_project/project/manage.py", line 21, in <module>
                                    11. main()
                                    12. File "E:/django_test_project/project/manage.py", line 16, in main
                                    13. ) from exc
                                    14. 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?
                                    15.  
                                    16. Process finished with exit code 1
                                    17.  
                                      Михаиллл
                                      • June 15, 2019, 8:37 p.m.
                                      • (edited)

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

                                        Илья Чичак
                                        • June 15, 2019, 8:54 p.m.
                                        • The answer was marked as a solution.

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

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

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

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

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

                                          Михаиллл
                                          • June 15, 2019, 9:04 p.m.

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

                                          1. E:\django_test_project\venv\Scripts\python.exe E:/django_test_project/project/manage.py
                                          2.  
                                          3. Type 'manage.py help <subcommand>' for help on a specific subcommand.
                                          4.  
                                          5. Available subcommands:
                                          6.  
                                          7. [auth]
                                          8. changepassword
                                          9. createsuperuser
                                          10.  
                                          11. [contenttypes]
                                          12. remove_stale_contenttypes
                                          13.  
                                          14. [django]
                                          15. check
                                          16. compilemessages
                                          17. createcachetable
                                          18. dbshell
                                          19. diffsettings
                                          20. dumpdata
                                          21. flush
                                          22. inspectdb
                                          23. loaddata
                                          24. makemessages
                                          25. makemigrations
                                          26. migrate
                                          27. sendtestemail
                                          28. shell
                                          29. showmigrations
                                          30. sqlflush
                                          31. sqlmigrate
                                          32. sqlsequencereset
                                          33. squashmigrations
                                          34. startapp
                                          35. startproject
                                          36. test
                                          37. testserver
                                          38.  
                                          39. [sessions]
                                          40. clearsessions
                                          41.  
                                          42. [staticfiles]
                                          43. collectstatic
                                          44. findstatic
                                          45. runserver
                                          46.  
                                          47. Process finished with exit code 0
                                          48.  
                                            Илья Чичак
                                            • June 15, 2019, 9:17 p.m.

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

                                              Михаиллл
                                              • June 15, 2019, 9:48 p.m.

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

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

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

                                                  Михаиллл
                                                  • June 16, 2019, 12:04 p.m.

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

                                                    Михаиллл
                                                    • June 16, 2019, 5:27 p.m.

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

                                                    1. pip install djangorestframework

                                                    ?

                                                      Илья Чичак
                                                      • June 16, 2019, 5:46 p.m.

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

                                                        Михаиллл
                                                        • June 16, 2019, 9:27 p.m.
                                                        • (edited)

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

                                                        1. pip install djangorestframework
                                                        2. pip install markdown
                                                        3. pip install pyyaml
                                                        4. pip install django-filter

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

                                                        1. pip install djangorestframework
                                                        2.  
                                                        3. И можно поставить дополнительные пакеты:
                                                        4. pip install markdown
                                                        5. pip install pyyaml
                                                        6. pip install django-filter

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

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

                                                          Илья Чичак
                                                          • June 16, 2019, 9:36 p.m.

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

                                                            Михаиллл
                                                            • June 16, 2019, 9:39 p.m.

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

                                                              Comments

                                                              Only authorized users can post comments.
                                                              Please, Log in or Sign up
                                                              • Last comments
                                                              • AK
                                                                April 1, 2025, 11:41 a.m.
                                                                Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                                                              • Evgenii Legotckoi
                                                                March 9, 2025, 9:02 p.m.
                                                                К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                                                              • VP
                                                                March 9, 2025, 4:14 p.m.
                                                                Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                                                              • ИМ
                                                                Nov. 22, 2024, 9:51 p.m.
                                                                Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                                                              • Evgenii Legotckoi
                                                                Oct. 31, 2024, 11:37 p.m.
                                                                Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup