安装Django
Linux上安装Django
# apt-get install python3
# pip install django
# django-admin --version
能看到对应的版本信息则说明django安装成功
Django管理工具
django-admin
:Django的管理工具
# django-admin
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
创建第一个项目
创建一个lab文件夹并进入lab文件夹之后可以使用django-admin
来新建项目:
# mkdir lab && cd lab
# django-admin startproject Helloworld
这个时候会多出一个Helloworld
的文件夹
# ls
Helloworld
文件结构如下:
# tree .
.
└── Helloworld
├── Helloworld
│ ├── asgi.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
文件结构目录作用:
- Helloworld: 项目的容器。
- Helloworld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
- Helloworld/_init_.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- Helloworld/settings.py: 该 Django 项目的设置/配置。
- Helloworld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- Helloworld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
进入Helloworld
文件夹
在settings.py
文件中找到ALLOWED_HOSTS = []
一行,添加自己服务器的公网ip
如:ALLOWED_HOSTS = ["123.123.123.123"]
用下面的命令启动服务器:
python3 manage.py runserver 0.0.0.0:8000
在浏览器中输入服务器ip地址加端口号,如123.123.123.123:8000
正常启动的话就能看到Django默认页面的小火箭
视图和URL配置
新建views.py
文件
~/lab/Helloworld/Helloworld# vim views.py
编写以下代码
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
接着修改urls.py
文件
~/lab/Helloworld/Helloworld# vim urls.py
ggDG
将urls.py文件修改为如下代码:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.hello),
]
当前文件结构如下:
.
├── Helloworld
│ ├── asgi.py
│ ├── __init__.py
│ ├── __pycache__ #编译后的py文件
│ │ ├── __init__.cpython-38.pyc
│ │ ├── settings.cpython-38.pyc
│ │ ├── urls.cpython-38.pyc
│ │ ├── views.cpython-38.pyc
│ │ └── wsgi.cpython-38.pyc
│ ├── settings.py
│ ├── urls.py # url 配置
│ ├── views.py # 添加的视图文件
│ └── wsgi.py
└── manage.py
完成后刷新浏览器
也可以将urls.py
文件修改成如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello),
]
注: 项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。
path() 函数
path(route, view, kwargs=None, name=None)
- route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
- view: 用于执行与正则表达式匹配的 URL 请求。
- kwargs: 视图使用的字典类型的参数。
- name: 用来反向获取 URL。
route,view为必填参数,kwargs,name为选填参数