1.应用app
在Django框架中,当项目变得巨大的时候,各种各样的功能全都放在主项目文件,就会显得太过杂乱,缺乏逻辑性和层次性。
Django中App的作用就在于此,我们可以将不同类型的功能分成多个不同的App应用来开发,每个app对应其功能。Django App对程序结构进行了解耦,在团队开发中,架构师对程序团队进行开发分配,例如一组开发app1,二组开发app2,等。
注意:这里指的应用app实际的含义为子项目,在Django开发中我们将创建子项目这一行为叫做应用app
2.创建应用app
使用manage.py的子命令startapp创建应用文件夹,在setting.py中找到INSTALLED_APPS参数并在其中添加此应用
# 创建主项目
$ django-admin startpoject apptest
$ cd apptest
# 创建应用app1,music
$ python manage.py startapp music
# 创建应用app2,vedio
$ python manage.py startapp vedio
使用pycharm打开,项目结构如下
修改主项目(startpeoject 后跟的name)setting.py文件,添加应用app,找到INSTALLED_APPS这个参数
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'music',
'vedio'
3.配置多应用路由规则
在music目录下创建urls.py文件,并写入:
from . import views
from django.conf.urls import url
urlpatterns = [
url(r'^index',views.index)
修改muisc目录下的views.py文件
from django.http import HttpResponse
def index(requests):
return HttpResponse("--music 首页--")
vedio目录做相同操作
修改主项目urls.py文件:
from django.urls import path,re_path
from django.conf.urls import include
from . import views
urlpatterns = [
path(r'^index',views.index),
path(r'^music/',include('music.urls'))
path(r'^vedio/',include('vedio.urls'))
#django version > 3.0 使用re_path
#re_path(r'^index',views.index),
#re_path(r'^music/',include('music.urls')),
#re_path(r'^vedio/',include('vedio.urls'))
配置pycharm,配置run程序:
打开浏览器输入:http://127.0.0.1:8000/music/index和http://127.0.0.1:8000/vedio/index
总结:首先在主项目的urls.py文件中添加app的匹配规则,再到具体的app中配置urls.py
4.模板匹配规则
按照上面的例子,若在setting.py文件中配置了外层的templates路径以及APP_DIRS 设置为true,如:
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',
如图,此时访问http://127.0.0.1:8000/index或http://127.0.0.1:8000/music/index将会的到什么结果
注意:配置tempaltes需要修改views.py文件,调用render函数检索文件目录
from django.http import HttpResponse
from django.shortcuts import render
def index(requests):
return render(requests,"index.html")
此时可以看到,访问http://127.0.0.1:8000/index或http://127.0.0.1:8000/music/index将会的到相同的结果
django查找模板的规则
1.优先查找外层的templates文件夹内的同名html文件
2.若在外层templates文件夹内没有找到同名html,再到app内部的templates内查找
3.若app内部也有同名html文件,则按照setting.py文件中声明的顺序查找
如改配置会先找music下的同名html,再找vedio下的同名html
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'music',
'vedio'
提示:模板的查找顺序不依赖路由配置,它是独立寻找的,这也是为什么访问http://127.0.0.1:8000/index或http://127.0.0.1:8000/music/index将会的到相同的结果的原因
Django中的app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。Django中的appapp(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。举例:一个项目project就相当于 某某大学, 一个app就相当于xx学院。Django本身是鼓励开发者进行相对独立的项目开发的,因此我...
一、创建app应用:1.创建app应用的目的,2.命令行创建app应用的步骤,3.通过pycharm软件创建app应用,
二、App中的独立内容:1.独立路由,2.独立模板,3.独立静态文件
一、创建app应用:
1.创建app应用的目的:
当项目足够大的时候,例如路由或者静态文件、模板文件都写在了一起,比较臃肿,因此我们可以创建app应用进行独立开发(分模块开发)。
2.命令行创建app应用的步...
项目结构介绍:
manage.py:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。
settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。
urls.py:这个文件是用来配置URL路由的...
一、Django中的app应用
app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。
Django本身是鼓励开发者进行相对独立的项目开发的,因此我们建议以后使用app进行开发。
1. 通过命令行创建app应用
(1)、命令: python manage.py startapp app名称
(2)、在 settings.py 文件 INS...
目前,我正在处理一个相当复杂的页面,当用户选择显示在第页选择一个配方,价格和配方名称需要显示在页面上。在我的想法是呈现多个extend/include模板,每个模板负责网页。但是,我面临一些问题:我需要多个视图函数来处理所有模板的数据。在我需要将请求传递给多个视图函数,以便它们返回带有正确数据的模板其中一个函数不仅接受请求,还接收模型对象的slug来更新页面上的数据。在问题:如何将来自不同视图函数...
如果有看不懂活接不上的可以看一下上一篇:https://blog.csdn.net/weixin_44286547/article/details/86180573
创建django项目App
打开工作目录,在进入创建的django项目中,输入以下指令
python manage.py startapp name # 其中是创建App的名称
这样App文件就创建好了
接下来介绍...
Django是米国一个新闻公司开源的一个python后端框架,名字好像是源自于比利时的一个音乐家,现在和Flask,Tornado都是python后端流行的框架。
Django与前面的Flask对比:
Django:大而全,入门简单,开发效率高,python最流行web框架,类似精装房
Flask:轻量级,定制化程度更高,适合高手,类似毛坯房
Django特点:
1.提供创建项目工程的自动化工具
2.数据库ORM支持
3.模板
......
Django中的app
app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。举个例子:
一个项目project就相当于 某某大学, 一个app就相当于xx学院。
Django本身是鼓励开发者进行相对独立的项目开发的,因此我们建议以后使用app进行开发。
1,创建app
(1)命令行创建:命令: python manage.py start...
app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。
一,创建一个APP项目
python manage.py startapp myApp # 创建一个app应用
在 settings.py 文件 INSTALLD_APPS 列表中注册app
Django框架自带的一些APP应用
编写视图函数
视图函数就是用来接收URL的请求...
app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发。
举个例子:一个项目project就相当于 某某大学, 一个app就相当于xx学院。
Django本身是鼓励开发者进行相对独立的项目开发的,因此我们建议以后使用app进行开发。
一、创建app应用
1.通过命令行创建app应用*
命令:python manage.py startap...
Django是一个非常流行的用python编写的Web框架,在使用Django之前,我们需要了解一些基本的概念,这样可以在使用Django的时候对其有一个更加深入的把握。本文主要介绍Django中两个非常基础但又是很多初学者不太明白的概念:project和app.
Project
其实在计算机领域,要真正了解一个东西,莫过于亲自去阅读它的源代码;同理,对于Django中