Python之Django文件夹中各个模块的功能

本文详细介绍了Django项目创建后的文件结构、settings.py中的关键配置、urls.py中的路由映射以及视图函数的使用,包括重定向功能。
摘要由CSDN通过智能技术生成

#前言:

关于Django的基本操作我会分十天左右发完,最后会做个项目,大家有兴趣的话可以关注我坐等后续,并且欢迎各位大佬指正错误。

关于Django的配置创建我在上一篇博客中已经有详细的讲解了,有兴趣可以看这里:Python之创建Django(保姆级教程)-CSDN博客

这篇博客我会详细介绍Django创建好之后各个文件里面具体是写什么内容的以及一些注意点。其次我会着重介绍Django项目中 settings.py 文件中的配置信息和通过 urls.py 文件中对定义路由和视图函数之间的映射关系进行配置,其它文件内容我会在后续博客中持续更新。

一.详细讲解:

1.创建应用(app):

创建应用的目的是为了实现项目的功能,实现项目功能的分离。

在创建应用之前,我先说一下如何启动Django项目,因为这个Django项目不是由单独一个板块构成,它由很多有小的板块整合而成,所以运行它是不是运行代码那般操作,详细操作看下:

在创建好Django文件后在右上角点击你创建的Django文件后再运行才是运行整个Django项目。

然后运行结束后在运行框里点击下方Terminal后输入:python manage.py startapp 应用名称(注意这个应用名称同样不可以为中文),这样就创建好了一个应用文件。

2.Django项目文件的作用:

现在系统默认创建出的项目文件有这么多,其中:

myapp是我自己起的应用名字,untitled是外我自己起的Django文件名。

1.在myapp(自命名)文件夹下:

migrations:负责保存数据迁移记录。

admin.py:负责后台管理文件。

apps.py:用来注册app。

models.py:用来操作数据库、模型。

tests.py:测试文件,可以单独运行。

views.py:试图文件,响应数据操作。

2.untitled(自命名)文件下:

asgi.py:存放的是项目的配置文件。

settings.py:项目的配置文件。

urls.py:项目的路由配置。

wsgi.py:封装socket服务端的内容.

3.templates 文件:

存放html文件,模板文件。

4.manage.py 文件:

Django项目的启动执行文件啊。

3.Django项目中 settings.py 文件中的配置信息:

BASE_DIR = 项目的根目录。

SECRET_KEY =  秘钥,用来对数据加密。

DEBUG = Django项目的启动模式,默认Ture,启动之后项目执行过程中有异样会抛出异样信息,是在开发时会使用的状态 。当设置为False,表示生产环境,设置的前提是ALLOWED_HOSTS值不能为空。

ALLOWED_HOSTS = 设置允许访问这个项目的 ip。其中空列表表示只能访问当前主机(也即是127.0.0.1)。['*']表示所有访问。['192.168.163,31',...]表示允许指定的IP访问。

INSTALLED_APPS = 注册项目中的应用。

MIDDLEWARE = 注册中间件使用(拉黑IP等)。

ROOT_URLCONF = 配置根目录级别的路由。

TEMPLATES = 配置模板使用的模板引擎。

WSGI_APPLICATION = 项目运行在 WSGI 兼容的 web 服务器中。

DATABASES = 配置数据库信息。

AUTH_PASSWORD_VALIDATORS = Django 的授权认证。

LANGUAGE_CODE = 项目语言 "zh-Hans"表示中文。

TIME_ZONE = 项目使用的时区,"UTC"表示零时区,我们是东八区,"Asia/Shanghai"

STATIC_URL = 静态文件配置(css js image)

DEFAULT_AUTO_FIELD = 默认 auto 认证

4.注册应用:

在使用前需要先注册应用。

在 settings.py 文件中 INSTALLED_APPS 列表中最后添加配置信息 。

写法一:'myapp.apps.MyappConfig'-------也就是:[应用名称.apps.应用名称Config]

写法二:'myapp'[应用名称]

5.实现视图:

1.视图的响应,响应功能就要写到应用的 views.py 文件中:

注意使用前先导入:

from django.shortcuts import render,HttpResponse,redirect
def index(request):
    '''
    :param request: 接收浏览器发送的请求信息,视图函数必须要有这个参数 
    :return: HttpResponse 响应字符串信息
    '''
    return HttpResponse('大家好,我是小龙,最帅的那个人')

2.通过 urls.py 文件中对定义路由和视图函数之间的映射关系进行配置,使用 path 函数对路由的配置对应关系:

# 导入视图所在的应用的视图模块文件
from myapp import views
urlpatterns = [
    path('index/' , views.index),
]

此时运行程序,在web段输入该路由就能显示views文件里的内容了:

3.响应 html 文件视图:

在views.py文件中:

def html_info(request):
    # 响应 html 文件,需要使用 render
    # 对 html 文件进行模板化
    return render(request , 'info.html')

def html_info1(request):
    # render(request , html文件 , 数据)
    # render 传入的数据必须以字典类型传入
    # return render(request , 'info2.html', {'name':'林谋','age':20,'address':'中国'})
    data = {'name':'小龙','age':20,'address':'辽宁'}
    return render(request , 'info2.html', data)

def html_info2(request):
    name = '小龙'
    age = 18
    address = '地球'
    '''
    locals() 方法 把当前视图函数所在的名称空间中所有的名称全部传递到 html 文件中
    '''
    return render(request , 'info2.html' , locals())

在urls.py文件中:

 

urlpatterns = [
path('info1/' , views.html_info),
path('info2/' , views.html_info1),
path('info3/' , views.html_info2),
]

注意:html_info、html_info1、html_info2都是在templates文件夹下面创建的html内容。

4.重定向:

重定向就和html中的标签的作用差不多,是用来实现页面跳转的。

在views.py文件中:

def baidu(request):
    # rediect 重定向 , 实现 url 跳转
    return redirect('https://www.baidu.com')

def my(request):
    # 重定向到项目中的 url
    return redirect('/info2/')

def myview(request):
    # 重定向到单前文件中的某个视图函数
    return redirect(html_info2)

在urls.py中与上述用path方法调用的一致。

二.总结:

该文主要讲了:详细介绍Django创建好之后各个文件里面具体是写什么内容的以及一些注意点;Django项目中 settings.py 文件中的配置信息;通过 urls.py 文件中对定义路由和视图函数之间的映射关系;重定向等内容。如若各位大佬发现错误欢迎指正。

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值