Python3的Django框架
创建工程
django-admin startproject 项目名/目录名
# 如:
django-admin startproject www
# 进入项目目录查看, 项目目录下会生成
root@34c972b2c243:/workspace/www# tree
.
|-- manage.py
`-- www
|-- __init__.py
|-- __pycache__
| |-- __init__.cpython-35.pyc
| `-- settings.cpython-35.pyc
|-- settings.py
|-- urls.py
`-- wsgi.py
2 directories, 7 files
root@34c972b2c243:/workspace/www#
# 这里的manage.py 管理项目,它有很多子命令, 所有的事情都要用它来做
管理工程 通过manage.py管理项目
# 这里通过python3 ./manage.py查看它能做的事情
root@34c972b2c243:/workspace/www# python3 ./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
root@34c972b2c243:/workspace/www#
manage.py常用命令
# 常用命令
# python3 ./manage.py runserver 启动服务器这里默认监听的时8000端口不是80
# 但是这都是可以指定的 python3 ./manage.py runserver 0.0.0.0:80
# python3 ./manage.py chanagepassword 修改超级用户的密码
# python3 ./manage.py createsupportuser 创建一个超级用户
# python3 ./manage.py shell 启动调试脚本
创建应用
# 创建一个 blog的应用
python3 manage.py startapp blog
# 这时候整个工程的目录是这样的,P.S:之前我创建了一个名叫www的工程
root@34c972b2c243:/workspace/www# tree
.
|-- blog
| |-- __init__.py
| |-- admin.py
| |-- apps.py
| |-- migrations
| | `-- __init__.py
| |-- models.py
| |-- tests.py
| `-- views.py
|-- db.sqlite3
|-- manage.py
`-- www
|-- __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
添加应用
应用创建完毕之后需要再工程目录下的,工程名目录下的setting.py中配置
将新的应用添加到工程中取
在配置文件中找个这个, 这里是,这个工程下所有的应用
这里可以看到有很多初始化的应用, 包括后台,用户等,都是djange自带的应用
如下最后一行,在这里添加刚才添加的应用名称
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
输出静态内容
这时候的blog目录是这样的
.
|-- __init__.py
|-- admin.py
|-- apps.py
|-- migrations
| `-- __init__.py
|-- models.py
|-- tests.py
`-- views.py # 静态页面定义的函数
1 directory, 7 files
如下, 在views.py中启动一个hello页面
def hello(request):
return HttpRequest("<h1>hello world</h1>")
还需要在配置一下工程目录下的urls.py文件,这里是路由配置
如下,列表中的最后行,参照上面的 path('admin/', admin.site.urls)来配置
from django.contrib import admin
from django.urls import path
引入刚刚创建的文件
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
# 配置我刚才添加的路径文件
path('blog/', views.hello),
]