django框架怎么使用(2023年最新整理)

导读:本篇文章首席CTO笔记来给大家介绍有关django框架怎么使用的相关内容,希望对大家有所帮助,一起来看看吧。

Python 语言Django 框架的简化视图

1 我们在用Django编程时,会发现,经常需要用到列表、详情、修改这些操作。这些操作 几乎可以满足数据编辑的大部分要求。那能不能像YII2脚手架功能一样直接提供一个通用的模板类,只需指定几个必要的参数,所有的功能自己去实现呢。

2 Python 语言Django 框架,刚好提供这样的功能, 它有很多叫法,如 类视图、通用视图、简化视图,都指的是它。我们可以把它看成 Django 框架的脚手架。

3 Django简化视图底层的本质是通过从URL传递过来的参数去数据库查询数据,加载一个模板,利用得到的数据渲染模板(按照路由、视图、模板、模型的路线图)。

4 以下是Django 框架提供的简化视图,可以直接拿来使用。

View ------------------- 所有类视图的基类

TemplateView --------------渲染一个template

RedirectView ----------------重定向类视图

通用显示视图Display view:

DetailView ---------------展示单个object

ListView ------------------展示多个object

通用编辑视图Edit view:

FormView -------------- 显示一个form表单

CreateView ------------ 创建一个对象

UpdateView ------------更新对象

DeleteView --------------删除对象

5 例,路由代码

path(\'\', views.IndexView.as_view(), name=\'index\'),

视图代码

class IndexView(generic.ListView):

template_name = \'polls/index.html\'

context_object_name = \'latest_question_list\'

def get_queryset(self):

return Question.objects.order_by(\'-pub_date\')[:5]

6 小贴士 6-1通用视图实际上 是类视图的一种,Django类视图的完整架构还是很庞大的。笔者只是提纲挈领,有兴趣 可以试着搜索“使用Django通用视图的get_queryset, get_context_data和get_object等方法”深入学习。

6-2 笔者在看一些程序员在做PHP后台维护时,数据库经常被SQL注入,其实简单点使用addslashes()函数就能解决大部分问题。

django框架怎么使用(2023年最新整理)  第1张

Django框架中path及re_path中name参数的使用和模板渲染(八)

name参数可以给一个匹配的url地址取名字,一般用于模板,也可以使用reverse进行页面重定向。

1、为APP中的books里面的urls.py(给url取个名字)

2、为APP中books里面的views.py(redirect是重定向,reverse是将url的name解析成url本身的函数)

1、 name参数可以给这个url取一个合适的名字。通过给url取名字,以后在view或者模板中使用这个URL,就只需要通过这个名字就可以了。这样做的原因是防止url的规则更改,会导致其他地方用了这个url的地方都需要更改,但是如果取名字了,就不要做任何改动了。

2、注意事项:

1、模板放在哪?

2、在项目主目录setting.py中进行模板路径配置; 将我们的设置好的存放html模板的templates目录路径添加到DIRS中。

注意:reverse方法里面也可以有kwargs参数,直接将参数传给被reverse解析后要跳转的url路径中的捕获参数,来达到传参的效果。

「Django框架」-拆分配置文件settings

使用 Django 命令生成一个项目的基本结构时,配置信息默认保存在和项目目录同名的目录下的 settings.py 文件里, 在实际的开发中,对于一个项目而言,这样往往是不合适的,需要将 settings 配置文件拆分为几个文件, 线上和线下都会使用的文件放置到 base.py 文件里,线上的放置在 product.py 文件里,开发测试的文件放置在 develop.py 文件里。这样功能划分就明确了,方便我们线上线下的调试。

1)在项目同名目录下,创建一个 settings 的包(目录下含 __init__.py 的文件夹)。

2)在 settings 的包中分别新建3个文件:公共基础 base.py (用于配置 Django 默认生成配置文件), develop.py (用于开发环境)、 product.py (用于生产环境)。

3)将原来的 settings.py 的内容复制到 base.py 文件中。

4)确认目录OK后,我们需要修改 base.py 中的时区和语言配置:

如果有类似公共部分需要修改的,则在 base.py 中修改即可,例如注册子应用之类的,在此就不一一举例。。

5)之后,对于线上线下不同部分,我们只要导入 base.py 模块,再针对不同部分进行修改即可,例如线上线下对接不同的测试数据库,我们则可以修改数据库连接:

6)修改 manage.py 文件, Django 使用自带服务启动时需要知道 settings 文件的路径。

7)到上生产的时候,使用 asgi.py ( Django3.x 中)或 wsgi.py ( Django2.x 以下版本),则可以更改生产配置文件的路径:

以上又有个问题,如果线上线下环境切换,又要改动代码, 我们可以通过设置系统环境变量来动态获取,避免修改代码:

这样通过读取系统环境变量中的 LIPIN_PROFILE 来控制 Django 加载不同的 settings 文件。

这样可以将原来的 settings.py 文件删掉!!

但是这样就会有个问题,你会发现之前好好的网页我们访问不了了,模板找不到!

这是因为之前的配置文件中,路径问题,因为我们原来的配置文件是在同名目录下,而我们现在将配置文件拆分为一个新的包,所以还要上一级目录才是我们需要的:

结语:以上就是首席CTO笔记为大家整理的关于django框架怎么使用的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23
下一篇 2023-09-23

相关推荐

发表回复

登录后才能评论