当前所在位置: 首页 > 域名平台

请问在Mac上安装Django时?屏蔽dns是这么设置么?

2021-10-11 本站作者 【 字体:

一.下载Django如果电脑没安装 python,点击这里。然后从这里下载 Django 稳定版本。或者执行命令下载 Django 最新版本:git clone https://github.com/django/django.git这里我用的是 Mac 自带的python2.7,下载是最新版本的Django后发现python2.7版本需要升级,但是注意,对 iOS 开发者来说,最好不要升级python2.7到python3,因为Xcode只支持最稳定版的python2.7脚本。所以这里我下载的Django版本是1.6.1。二.安装Djangocd Django sudo python setup.py. installPython 默认在/Library/Python/2.7中,那么无论如何你在哪里安装完DJango,都会在/Library/Python/2.7/site-packages中生成一个django的文件夹。如果要删除django,只需要把该目录下的django文件夹删除即可。三.测试LocalHost是否成功sudo mkdir ~/Djangodemo/*创建一个用于测试Localhost的网站样例*/sudo django-admin.py startproject testLocalHostcd testLocalHostpython manage.py runserver浏览器打开http://localhost:8000,成功的话你将会看到Django的简单的成功页面说明:django-admin.py在我们安装完Django之后除了在site-packages中生成django文件夹之外(里面都是一些DJango命令的一些文件和代码),在/usr/local/bin/中也生成了一个名为django-admin.py的链接,这样无论你在何种路径下都可以直接调用django-admin.py文件了。在Win下我们称这个过程为:加入到环境变量。四.文件结构1.创建 mysite 工程删除原来的 LocalHost 工程,创建 mysite 工程,执行命令:$ mkdir mysite$ django-admin.py startporject mysite此时的目录结构如下:mysite/mysite/__init__.pysettings.pyurls.pymanage.py2.manage.py作用:把该工程的包加入了 sys.path ;以后你可以直接在你的代码中引用该工程中其他的包。加载 DJANGO_SETTINGS_MODULE ,指明该工程的配置文件是 mysite/settings.py。最主要的是它包裹了 django-admin.py 的一些函数,让你可以通过它来操作整个工程。3.__init__.py严格意义上讲__init__.py不属于 DJango 的范畴,而是 Python 语言的一种习惯,经常为空文件。主要是告诉工程这是一个包(Package),防止不经意间因为包名为诸如String之类的字符串而引起的混乱,当然你也可以在里面加一些初始化的函数,但不在我们的讨论之列。4.settings.py此前我们提到了manage.py的第二件工作便是指定了它是工程的配置文件,那它配置了些什么呢?代码量在其他几个文件中属于比较多的,有一百行的样子,主要设置了关于数据库,后台管理等配置,等到我们要用的时候再详细说明。5.urls.py它负责把客户的请求翻译成函数调用。是重要要掌握的文件。DJango 通过 settings.py 中指定的 URLconf 参数找到对应的 urls.py 文件,此例中正好为我们的这个文件。DJango 在 urls.py 中找到 urlpatterns 变量。DJango 收到一个客户地址请求,我们不妨设为 localhost。DJango 在 urlpatterns 中顺序遍历正则式,找到第一个匹配,调用该正则式对应的函数。该函数返回客户端所请求的内容。对开发者来说,真正需要关心的是如何完成正则表达式和对应函数的对应。 如下面例子:123urlpatterns=patterns("",url(r'^$','hello.views.home'),)说明:其中url里面左半部分是正则式,右半部分是函数调用。r说明是raw匹配,表明正则表达式要求每个字符都必须被匹配,是一个可选项,如果不能理解可以省略。^表示匹配开始,$表示匹配结束。所以这个正则表达式匹配了空字符,正好符合地址为localhost的客户请求(DJango收到的请求会自动省略域名,即localhost,即真正的请求字符串为空)。右侧表明腰调用名为hello的app的views.py文件的home函数。6.增加 hello app刚才我们在url匹配的时候调用了home函数,此时我们就开始创建它:python manage.py startapp hello这样我们在manage.py同级目录下生成了hello目录,进入hello目录其他文件都不用管,也不需要理解,直接打开views.py编辑成如下样子:from django.http import HttpResponsedef home(request):return HttpResponse("Hello World")启动服务器。其实hello相当于是一个app应用被添加进了mysite工程,当特定的请求到来时通过url匹配调用相应app下的views.py中的函数来达到不同的显示效果。五.Django-URL解析和匹配1.patterns() 函数patterns 函数的的原型:patterns(prefix, pattern_description, ...)其中prefix表示函数调用的前缀,而pattern_description则是一系列的元组。举例说明prefix的作用:urlpatterns = patterns("hello.views",url(r'^$', 'home'),)上例和上例的执行效果一样,都表明了hello app下的views文件里的home函数。注意:前缀末尾不必包含“.”;另外因为python函数规定参数不能多于 255 个,因此如果你的映射关系很多,可以利用诸如:urlpatterns += patterns(…)这种形式累加。2.url()函数url 函数的原型:1url(regex,view,kwargs=None,name=None,prefix='')其中后三项是可选项,在我们的例子中:regex=”r’^$'”;view=”hello.views.home”;name项给该url命名,这在未来通过name反向确定url有很大的作用;kwargs则传递额外的参数;prefix和此前的prefix作用一致,不过只适用这一条url。3.通过url传递信息DJango 在通过url传递参数时有两种方式,一种通过位置,一种通过关键词。我们先看第一种,改此前的映射关系如下:1url(r'^(\d{4})/(\d{2})$','hello.views.home'),修改hello/views.py,增加两行代码如下:def home(request, year='0000', month='00'):return HttpResponse("Hello World "+year+" "+month)这样当用户请求locahost:8000/2015/5时候,相当于在调用home(request, ‘2015’, ’5’),注意此时year和month的相对关系,因为参数传递是基于位置信息的,第一个是4个数字是年,第二个2个数字是月。下面是第二种,即关键词方式,我们修改两个文件如下:#mysite/urls.pyurl(r'^(?P\d{4})/(?P\d{2})$', 'hello.views.home'),#hello/views.py#注意year和month的位置def home(request, month='00', year='0000'):return HttpResponse("Hello World "+year+" "+month)

无视软件和代理设置不难做到,修改系统的Hosts文件即可,默认的Hosts文件在

把你需要屏蔽的域名解析到一个无效的IP地址即可,比如

即可使得 http://www.example.com 指向127.0.0.1,也就是本机的IP地址。除非你的本地正在运行Web服务器监听80端口,否则在浏览器里访问本机地址是无法打开的。请问在Mac上安装Django时?屏蔽dns是这么设置么?(图1)


多级域名在Hosts文件里无法做到,因为Hosts文件不支持通配符。

如果允许设置代理服务器的话,可以使用Privoxy - Home Page这个工具。它支持用正则表达式匹配URL,并且可以进行各种类型的过滤和屏蔽。

如果要无视代理设置的话,可以使用自定义的DNS服务器,Windows下有一个小工具叫Acrylic DNS Proxy 可以在本地运行一个DNS服务器,并且可以自定义解析规则,没有匹配的规则可以自动向上一级DNS转发,并且可以在本地缓存解析结果。不过我记得这个工具设置起来好像不是那么方便。

更重量级的解决方案是在本地运行一个Linux虚拟机,在上面运行一个DNS服务,然后自定义解析规则,不过配置起来相当麻烦,需要对Linux服务器配置有一定了解。这个方案的好处是,可以在路由器上设置DNS服务器地址,使得局域网里所有的设备都通过这个服务器来解析域名,这样屏蔽规则可以对所有设备有效。

从域名的角度来解决问题有一个缺点。有些软件,比如QQ,为了能够在DNS服务器设置不正确的情况下依然能够连接服务器,会在本地缓存一些IP地址,用于DNS不能正确解析域名的时候。如果要把这类情况也考虑进去,就只能在Windows防火墙里设置规则了。

阅读全文
id_1广告位-300*300
相关推荐

一文弄懂vlan、三层交换机、网关、DNS、子网掩码、MAC地址抖音收购支付牌照,字节跳动储备新域名,官方称为防恶意侵权

一文弄懂vlan、三层交换机、网关、DNS、子网掩码、MAC地址抖音收购支付牌照,字节跳动储备新域名,官方称为防恶意侵权
11月30日,有消息称,字节跳动常用来存储自家域名的注册商“易名”旗下新增一个名...

中文域名是什么意思域名是什么意思啊

中文域名是什么意思域名是什么意思啊
域名,简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机...

阿里云服务器购买教程购买云服务器送的免费域名是已经备案了吗

阿里云服务器购买教程购买云服务器送的免费域名是已经备案了吗
1.购买云服务器送的免费域名,如果是测试的临时域名,是备案了的。2.如果是自己买...

互联网经营许可证怎么办?互联网药品交易服务的资格证书怎么办理?

互联网经营许可证怎么办?互联网药品交易服务的资格证书怎么办理?
首先感谢悟空问答的邀请,最近比较忙,终于抽出时间来认真回答几个问题了,也希望能帮...

域名注册申请需要准备哪些材料?gov.cn域名还能申请吗?

域名注册申请需要准备哪些材料?gov.cn域名还能申请吗?
 gov.cn域名仅供政府机构注册,个人与企业不能注册。如需要注册.gov 必须...

frp通过指定域名访问部署于内网的 web 服务SAE 场景下,应用流量的负载均衡及路由策略配置实践

frp通过指定域名访问部署于内网的 web 服务SAE 场景下,应用流量的负载均衡及路由策略配置实践
流量管理从面向实例到面向应用在 Serverless 场景下,由于弹性能力以及底...

搭建属于自己的内网穿透SpringCloud极简入门|zuul 动态转发url困扰很久功能终于实现了6

搭建属于自己的内网穿透SpringCloud极简入门|zuul 动态转发url困扰很久功能终于实现了6
前言  大家好我是不一样的科技宅,每天进步一点点,体验不一样的生活。今天给大家带...

DNS解析域名:发现域名和IP不一致,访问了该域名会如何?github项目:tcp穿透内网passbytcp

DNS解析域名:发现域名和IP不一致,访问了该域名会如何?github项目:tcp穿透内网passbytcp
目的网上搜索了不少tcp内网穿透的代码,功能全的大多是go版本,无奈对go不感冒...

哪家域名支持url转发功能如何判断域名URL转发是否正常?

哪家域名支持url转发功能如何判断域名URL转发是否正常?
展开全部看能否访问了。URL转发的缺点: 1)经过我们实际测试,速度上要比...

基于JavaFx和SpringBoot搭建的实用小工具集合Shopify后台撰写、隐藏、删除博客文章操作教程

基于JavaFx和SpringBoot搭建的实用小工具集合Shopify后台撰写、隐藏、删除博客文章操作教程
在shopify店铺中创建博客后,您便可以开始撰写博客文章。您的文章可以包含文字...