2024-11-25 09:20:04
今天首席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怎么部署的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。