virtualenv lqidjango
source bin/activate
pip3 install Django
--> pass
# but can't find the django-admin.py, "find|grep django-admin"
django-admin startproject mysite
--> fail
(lqidjango) cor@debian:~/lqidjango$ django-admin startproject mysite
bash: django-admin: command not found
python3 -m django startproject mysite
--> pass
#sudo apt-get install tree
(lqidjango) cor@debian:~/lqidjango/mysite$ tree
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
#
(lqidjango) cor@debian:~/lqidjango/mysite$ python3 manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
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.
April 23, 2020 - 03:01:43
Django version 2.2.12, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Error: That port is already in use.
#sudo apt-get install net-tools
cor@debian:~/webscrappython/Web_Scraping_with_Python/downloadAprial7th/wswp-code-9e6b82b47087/chapter08$ sudo apt-get install net-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
icedtea-netx icedtea-netx-common linux-image-4.9.0-8-amd64
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
net-tools
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 248 kB of archives.
After this operation, 963 kB of additional disk space will be used.
Get:1 http://mirrors.tuna.tsinghua.edu.cn/debian stretch/main amd64 net-tools amd64 1.60+git20161116.90da8a0-1 [248 kB]
Fetched 248 kB in 2s (92.8 kB/s)
Selecting previously unselected package net-tools.
(Reading database ... 272538 files and directories currently installed.)
Preparing to unpack .../net-tools_1.60+git20161116.90da8a0-1_amd64.deb ...
Unpacking net-tools (1.60+git20161116.90da8a0-1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up net-tools (1.60+git20161116.90da8a0-1) ...
cor@debian:~/webscrappython/Web_Scraping_with_Python/downloadAprial7th/wswp-code-9e6b82b47087/chapter08$ sudo netstat -anutp|grep 8000
tcp6 0 0 :::8000 :::* LISTEN 1804/docker-proxy
#
(lqidjango) cor@debian:~/lqidjango/mysite$ python3 manage.py runserver 7000
Watching for file changes with StatReloader
Performing system checks...
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.
April 23, 2020 - 03:37:15
Django version 2.2.12, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:7000/
Quit the server with CONTROL-C.
Start APP
python3 manage.py startapp blog
(lqidjango) cor@debian:~/lqidjango/mysite$ tree
.
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ ├── settings.cpython-35.pyc
│ ├── urls.cpython-35.pyc
│ └── wsgi.cpython-35.pyc
├── settings.py
├── urls.py
└── wsgi.py
2 directories, 10 files
(lqidjango) cor@debian:~/lqidjango/mysite$ python3 manage.py startapp blog
(lqidjango) cor@debian:~/lqidjango/mysite$ tree
.
├── blog
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ ├── settings.cpython-35.pyc
│ ├── urls.cpython-35.pyc
│ └── wsgi.cpython-35.pyc
├── settings.py
├── urls.py
└── wsgi.py
4 directories, 17 files
#
4 directories, 17 files
(lqidjango) cor@debian:~/lqidjango/mysite$ python3 manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 21, in
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/home/cor/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/cor/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 357, in execute
django.setup()
File "/home/cor/.local/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/cor/.local/lib/python3.5/site-packages/django/apps/registry.py", line 114, in populate
app_config.import_models()
File "/home/cor/.local/lib/python3.5/site-packages/django/apps/config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 673, in exec_module
File "", line 222, in _call_with_frames_removed
File "/home/cor/lqidjango/mysite/blog/models.py", line 7, in
class BlogArticles(models.Model):
File "/home/cor/lqidjango/mysite/blog/models.py", line 9, in BlogArticles
author = models.ForeignKey(User, on_delete=Models.CASCADE, related_name="blog_posts")
NameError: name 'Models' is not defined
#
(lqidjango) cor@debian:~/lqidjango/mysite$ find |grep models.py
./blog/models.py
it seems that models.py is under "blog" while mange.py is not, I think I met this before in another book.