首页>>后端>>Python->django服务器怎么指定url(django怎么部署)

django服务器怎么指定url(django怎么部署)

时间:2023-11-30 本站 点击:0

今天首席CTO笔记来给各位分享关于django服务器怎么指定url的相关内容,其中也会对django怎么部署进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、如何在服务器上部署Django项目并使其在后台一直运行2、Django中url与path及re_path区别3、django中url配置什么用4、【Django】路由配置:反向解析、重定向

如何在服务器上部署Django项目并使其在后台一直运行

前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在Digital Ocean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿它来试验一下。

废话不多说,第一步通过WinSCP软件把Django文件传到服务器上。

在服务器中安装Django需要的环境和我所需要的Python第三方库。

以上所有步骤完成后,还需要进行一步操作,这是我经历的一个 坑 。 打开Django文件目录中的 settings.py ,把 ALLOWED_HOSTS=[] 改为 ALLOWED_HOSTS=["*"] 。

在服务器中打开到 manage.py 所在的目录,输入命令:

python3 manage.py runserver 0.0.0.0:8000

然后按下回车,在浏览器中输入: 该服务器IP地址:8000 ,大功告成!

Attention:

1. python3 不是特定的,是根据你的Django项目所需要的环境指定的。

2. 8000 是端口号,可以修改。

如果想要Django项目一直运行,关闭终端后还在运行,即需要运行如下命令, nohup command , command 即位上文所说的 python3 manage.py runserver 0.0.0.0:8000 。

Django中url与path及re_path区别

初学者 一般不能分清两者的区别,所这简单介绍下两者.首先,url是Django 1.x中的写法,p在Django2.1中,开始舍弃django1.x中的url写法。在django2.x中,描写url配置的有两个函数path和re_path.re_path()函数可以看做是django 1.x中得url函数,即可以在路径中使用正则.

path与url是两个不同的模块,效果都是响应返回页面, path调用的是python第三方模块或框架,而url则是自定义的模块,如Views下的def函数对应你url中的参数值.

例如:

在settings.py文件中有一个ROOT_URLCONF设置,设置的是在访问网址时通过哪一个url文件去匹配所请求的网址

url或者re_path要复杂一些 (r’^blog/(?P[0-9]{4})/′)首先需要开始符和结尾符 ') 首先需要开始符^和结尾符 ′)首先需要开始符和结尾符,参数匹配一个 ()就是一个匹配参数,

(?P匹配的字段名正则表达式)

进行匹配是不包括get或者post请求方式的参数及域名比如 并不会匹配?后边的字符

可以给request参数设置一个默认值,最常见的分页url,比如

自定义错误页面关键字handler400=blog.views.page_no_find

参数的使用方法path(‘blog/str:string/’) 简单了很多,就是尖括号,前边是str代表参数的类型,后面代表参数的名称

捕获url中的参数需要用到尖括号 指定尖括号中的值类型比如int:astr:link这个转换器还有许多类型比如:

如果遇上路径和转换器语法都不足以定义的URL模式,那么就需要使用正则表达式,这时候就需要使用re_path(),而非path()。

举例:传递 数字结尾的参数

在python3中使用django2的时候,在设置urls的时候,会遇到一些坑。这里做一下记录。

系统的urls.py里,在1.X的时候,都是采用的url方式。如下

在2.0中,它推荐使用的是path模块,所以这里就改写一下。引包

注意:

1.x里面的写法是

现在的写法

这样一对比就能明白了吧,使用的链接是 ;key=abc

1.x中写法

可是在2.0中你这么写,会报错,说什么app_name的,这个自己可以看一下,怎么解决呢,其实很简单,只要在自己项目urls.py中加上这句就行了.如果不加的话可能报错,

注:

django中url配置什么用

相当于一个字典,客户端给你一个单词既URL,你把单词(URL)对应的解释(HTML)内容返回给客户端。

【Django】路由配置:反向解析、重定向

简单的路由配置

【注意事项】:

(1):若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。

(2):不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。

(3):每个正则表达式前面的'r' 是可选的但是建议加上。它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义

(4):urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续

在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。

在需要URL 的地方,对于不同层级,Django 提供不同的工具用于URL 反查:

反向解析的过程:用户通过 /login/ 这个接口 到达urls.py,然后通过 path("login/",views.login,name="log") 到达 views.py(用于视图函数)

在实现逻辑功能时,可能会需要实现重定向的功能。

(1)、通过redirect函数或HttpResponseRedirect函数硬编码的形式

(2)、通过URLconf路由命名空间的形式。

(3)、如果在逻辑函数中不做任何处理,可以直接在url中配置。

结语:以上就是首席CTO笔记为大家介绍的关于django服务器怎么指定url和django怎么部署的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/4804.html