django框架的最小程序及其改进

步骤1:新建一个web框架工程
django-admin startproject mysite

在这里插入图片描述
在这里插入图片描述

步骤2:修改工程,增加功能
步骤2.1 创建一个具体应用(app)
python manage.py startapp helloapp

在这里插入图片描述
工程(project)和应用(app)的关系

  • 工程对应于一个网站,是配置和应用的集合
  • 应用对应于特定功能,是具体功能的载体
  • 配置和功能分离是高度模块化的体现
步骤2.2 修改应用的views.py

views.py中包含对某个HTTP请求url的响应

#mysite/helloapp/migrations/views/py
from django.http import HttpResponse

def hello(request):
	return HttpResponse("Hello World! I am coming……")
步骤2.3 修改URL路由

在urls.py中指定URL与处理函数之间的路径关系

#mysite/mysite/urls.py
from django.contrib import admin
from django.urls import path
from helloapp import views

urlspatterns = [
	path('index/',views.hello),
	path('admin/',admin.site.urls),
]

在这里插入图片描述

步骤3:调试运行web框架(在mysite工程目录下)
python manage.py runserver

在这里插入图片描述

django-admin

一个Django框架全局的管理工具:

  • 建立并管理Django工程
  • 建立并管理Django工程所用的数据库
  • 控制调试或日志信息
  • 运行并维护Django工程
manage.py

与django-admin类似,但只针对当前项目

Django最小程序的改进

需求:返回一个HTML页面,而不是一个字符串
思路:建立模板(T),对应特定请求,返回模板页面。
新建hello2app,通过index2来访问。

步骤2.1 新建hello2app应用
python manage.py startapp hello2app
步骤2.2 使用htmldemo.html为返回页面,修改views.py
#hello2app/views.py
from django.shortcuts import render

# Create your views here.
def hello(request):
    return render(request,"htmldemo.html")

render()是一个打包函数,第一个参数是request,第二个参数是页面。

步骤2.3 在hello2app应用中,新增urls.py文件(本地路由文件)
#hello2app/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('',views.hello)
]
步骤2.4 在全局路由文件中增加对本应用路由文件的引用
#mysite/urls.py
from django import urls
from django.contrib import admin
from django.urls import include,path
from helloapp import views

urlpatterns = [
    path('index2/',include('hello2app.urls')),
    path('index/',views.hello),
    path('admin/', admin.site.urls),
]

include()函数,将hello2app的局部路由增加到全局路由中。

步骤2.5 设置模板路径,让Django框架找到模板所在目录
#setting.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'hello2app/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',
            ],
        },
    },
]

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cachel wood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值