Django 创建项目
目录
环境:
Django 参看django版本
Django 安装
Django 创建项目
Django 创建应用
Django 创建一个视图
环境:
1. Ubuntu20.04
2. django version: 3.2.10
3. python version:3.8
Django 模型
Django的MTV模式本质上和MVC是一样的。
1. Django的MTV分别是值:
- M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
- T 代表模板 (Template):负责如何把页面展示给用户(html)。
- V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
2. MVC模型个代表的意思:
1. M模型负责业务对象与数据库的映射(ORM)
2. V视图负责与用户的交互(页面)
3. C控制器接受用户的输入调用模型和视图完成用户的请求
查看Django的版本
python3 -m django --version
Django的安装
Django Windows
1. Django下载地址
https://www.djangoproject.com/download/
2. 命令行查看是否安装成功
>>> import django >>> django.get_version()
Django Linux(Ubuntu)
0. 安装django指定版本
pip3 install Django==3.2.10
1.pip命令安装
pip3 install Django
2. 源码安装
源码下载包: https://www.djangoproject.com/download/
输入一下命令安装:
tar xzvf Django-X.Y.tar.gz # 解压下载包 cd Django-X.Y # 进入 Django 目录 python3 setup.py install # 执行安装命令
Django 创建项目
1. 命令行创建Django项目(cd 到想要创建项目的folder下)
# django-admin startproject 项目名 django-admin startproject myproject
2. 项目目录
chromeVirtWe
├── chromeVirtWeb │ ├── asgi.py │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py
3. 项目文件目录说明
4. 检验项目是否创建成功(去除黑色的部分,剩下的log为成功)
python3 manage.py runserver
log:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 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.
December 31, 2021 - 07:09:29
Django version 3.2.10, using settings 'chromeVirtWeb.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
解决方案:它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。
python manage.py migrate
Django 创建应用
1. 创建应用
# 第一种方式 django-admin startapp app01 # 第二种方式 python manage.py stratapp app01
2. 命令行启动项目
python manage.py runserver 127.0.0.1:8080
3. 关闭项目
Ctrl + C
注意:
1. 命令行创建的应用要在Django项目中的settings.py文件中的INSTALL_APPS = [...]进行注册
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config' # 该行进行注册 ]
2. 命令行创建的项目, 不会自动创建templates模板文件夹, 需要自己手动创建, 并需要在settings.py文件中注册该文件路径
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # 该行进行祖册
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Django 创建一个视图
1. 在app/views.py中,添加下面的code
from django.http import HttpResponse
def index(request):
return HttpResponse("hello, world")
2. 如果想看到”hello,world“,我们需要将url映射到给函数,需要在app目录下创建一个URLconf(urls.py), 在该文件中输入下面code。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
3. 在项目的同名目录下的urls.py文件中填入应用中我们创建的url模块。
from django.contrib import admin
from django.urls imprt include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('chromeVir/', include('chromeVirt.urls')),
]
函数include()允许引用其他URLconf(URL配置文件),当Django遇到include()函数后,
它会截断与此项匹配的url部分,并将剩余的字符串发送到URLconf做进一步处理。
4. 运行项目,查看项目是否正常工作;访问浏览器 http://localhost:8080/app/,然后你可以看到”hello,world“
python3 manage.py runserver
5. path() 函数参数含义:
route:route是一个匹配url的准则(类似正则匹配)。Django响应请求时,从urlpatterns列表中的第一个开始,从上到下依次匹配知道匹配到要找的项。
列如:http://localhost:8080/app/, 会尝试匹配app/
http://localhost:8080/app/articles/,也会匹配到app/
view:Django匹配到一个准则后,就会调用view参数传入的视图函数,并且给该视图函数传入HttpResponse对象作为函数的第一个参数,且是以关键字的形式传入。
kwargs:任意关键字参数作为字典传给视图函数。
name:给URL取名,使其在Django的任意位置唯一地引用它,尤其在模板(template)中。
特性:允许你只在一个文件就能全局地修改某个URL(path中的view???)模式。

浙公网安备 33010602011771号