100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python Web 框架:Django MVC搭建

Python Web 框架:Django MVC搭建

时间:2021-06-20 09:05:34

相关推荐

Python Web 框架:Django  MVC搭建

为什么80%的码农都做不了架构师?>>>

安装 Django

命令:

pip install Django

检验:

pythonimport djangodjango.get_version()

创建第一个项目

命令:

django-admin.py startproject projectName

创建完成后文件目录:

|-- projectName # 项目的容器。| |-- __init__.py # 一个空文件,告诉 Python 该目录是一个 Python 包| |-- settings.py # 该 Django 项目的设置/配置| |-- urls.py # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"| `-- wsgi.py # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目`-- manage.py # 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互

启动服务器

用如下命令启动服务:

python manage.py runserver 0.0.0.0:8000

在浏览器端输入 http:\127.0.0.1:8000 ,得到 django 初始页面。

视图和 URL 配置

ge:

在项目文件夹下(E:/projectName/projectName)新建一个 view.py 文件

from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world ! ")

绑定 URL 与视图函数:打开 urls.py 文件,删除原来代码

from django.conf.urls import url from . import view​urlpatterns = [url() 可以接收四个参数@ regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。@ view: 用于执行与正则表达式匹配的 URL 请求。@ kwargs: 视图使用的字典类型的参数。@ name: 用来反向获取 URL。```url(r'^$', view.hello),]

启动 Django 开发服务器,并在浏览器访问打开浏览器并访问 http:\127.0.0.1:8000

Django 模板

在 projectName 创建文件(templates),并建立 index.html 文件

输入代码

<h1>{{ hello }}</h1>

修改模板文件 settings.py 里 TEMPLATES 中的 DIRS 值为 [BASE_DIR+"/templates",]

...TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [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',],},},]

修改 view.py

# -- coding: utf-8 --# from django.http import HttpResponsefrom django.shortcuts import render​def hello(request):​context= {}context['hello'] = 'Hello World!'return render(request, 'hello.html', context)

访问 http://127.0.0.1:8000/index ,得到网页

这样我们就完成了数据与视图的分离

Django 模板标签

基本格式:{% 关键字 %}

ge:

{% if condition1 %}... display 1{% elif condition2 %}... display 2{% else %}... display 3{% endif %}

{% for athlete in athlete_list %}<li>{{ athlete.name }}</li>{% endfor %}{% for athlete in athlete_list %}<h1>{{ athlete.name }}</h1><ul>{% for sport in athlete.sports_played %}<li>{{ sport }}</li>{% endfor %}</ul>{% endfor %}

Django 模型

Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。

步骤:

安装相应数据库驱动,如下以 mysql 为例

命令pip install mysqlclientpip install psycopg2

数据库配置,在项目setting.py 中找到 DATABASES 配置项,修改为:

# projectName/projectName/settings.py: 文件代码​DATABASES = {​'default': {'ENGINE': 'django.db.backends.mysql', # 或者使用 mysql.connector.django'NAME': 'test','USER': 'test','PASSWORD': 'test123','HOST':'localhost','PORT':'3306',}}

定义模块:

Django规定,如果要使用模型,必须要创建一个app。我们使用以下命令创建一个 TestModel 的 app

在 projectName/ 下使用命令:django-admin.py startapp TestModel

- 在models.py 文件中创建模型,如​```# projectName/model/models.pyfrom django.db import models'''''类名代表了数据库表名字段代表数据表中的字段(name)数据类型@ CharField(相当于varchar)@ DateField(相当于datetime)@ max_length 参数限定长度'''''''class Test(models.Model):name = models.CharField(max_length=20)```​- 在settings.py中找到INSTALLED_APPS这一项,添加model​```INSTALLED_APPS = (​'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','TestModel', # 添加此项)```

资源文件的加载

在 projectName/ 文件夹下建 static 文件,并在setting.py 中加入如下配置

# 静态文件STATIC_URL = '/static/'STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

最终项目结构如下:

|-- projectName|-- projectName # 项目的容器。| |-- init.py # 一个空文件,告诉 Python 该目录是一个 Python 包| |-- settings.py # 该 Django 项目的设置/配置| |-- urls.py # 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"| `-- wsgi.py # 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目|-- model| |-- models.py # 与数据库表对应的model| |-- ....|-- templates| |-- html# html 视图文件| |-- index.html # 平台首页|-- static# js \ css \ img 等资源文件`-- README.md # 项目文档`-- manage.py # 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。