添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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/indexhttp://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/indexhttp://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/indexhttp://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/indexhttp://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