django应用程序,使用自定义http头,在自定义路径上提供来自不同来源(文件、字符串、url等)的静态内容。作为比python的simplehttpserver更灵活的选项
django-localsrv的Python项目详细描述
django localsrv是一个django应用程序,它允许您以可配置的路径、可配置的响应http头来提供内容(文件、字符串等)。
它被设计成比python的simplehttpserver更有用的测试服务器,主要是因为配置选项。
- 自由软件:麻省理工学院许可证
安装
为了人类的爱,请使用virtualenv。
pip install django-localsrv
然后在django项目的设置文件中(通常settings.py)
INSTALLED_APPS = ( ... 'localsrv', ... )
在url配置文件(通常urls.py)中,将根路径添加到要从中提供内容的位置
from localsrv import urls as localsrv_urls urlpatterns = ( ... # Put this at the end of the list, since it will capture any url beginning with /localsrv # You can also use a pattern like r'', and that will match any pattern that wasn't # matched by any other pattern. That can get confusing, so it's best to use a namespace # like the one in this example url(r'^localsrv/', include(localsrv_urls)) )
对于急切的人来说,其他步骤
该应用程序包含一个简单的设置文件,您可以使用该文件立即开始使用该应用程序。它是模块localsrv.test_settings
我们用它吧! 此应用程序包含模型,因此我们需要为我们的应用程序运行迁移
django-admin.py migrate --settings=localsrv.settings
这将在安装包的目录中创建一个sqlite数据库文件。如果你不介意的话, 你现在就可以启动服务器,享受应用程序。如果你想把这个应用程序集成到你的某个项目中, 尽管我劝你不要这样做,但你可以这样做。我不会教你怎么做,但把“localsrv”包含在 项目设置文件的已安装应用程序列表。
创建超级用户,以访问管理Web控制台:
django-admin.py createsuperuser --settings=localsrv.test_settings
然后运行服务器:
django-admin.py runserver 0:8989 --settings=localsrv.test_settings
现在您可以开始配置url/localsrv/
指定要服务的内容
由于这是一个django应用程序,如果您执行了以上所有步骤(将应用程序设置为已安装应用程序列表的成员是很重要的事情)。 您将可以访问django管理页面上的localsrv条目。
使用一个简单的命令行界面,也许有一个简单的配置字典。
需要知道的是:目前您可以提供三种类型的内容:
- Strings
- Content found at another URL
- Files on the local file system (these are a little buggy at the moment, but still usable)
要为这些服务,您需要创建它们相应的资源。它们被称为字符串源,url源和文件源。 您可以在管理页面上的应用程序localsrv条目中找到所有这些内容。尝试创建字符串源并指定内容 以json为例(当然,您可以使用任何想要的字符串)
{"asdf":"zxcv","qwer":[1,2,3]}
此外,除了内容之外,还可以指定应提供哪些额外的http头。指定这些是很容易的。你必须创造 一个可服务的http头,系统会提示您输入一个名称(例如content type)和一个值(例如application/json)
最后,您需要指定在哪里提供内容。这是通过在同一个管理页面上创建一个可服务内容对象来完成的。 对于它,您将使用以前定义的源,以及(可选)还定义的头。您还必须指定一个路径 从提供此内容。
因为在这个例子中,我们引入了url模式r'^localsrv/,所以让我们坚持使用这个模式并指定路径/localsrv/my嫒json。 您在此处选择的路径可以是任何内容(可以将其视为URL)。我们使用/localsrv/为url命名,以避免任何冲突 使用上一个url模式。localsrv处理请求的方式是,它将响应任何以名称空间开头的不匹配的url 在我们的示例中,/localsrv/asdaf/4/foo/bar将匹配localsrvURL,并返回404或某些内容 T型你为这条路定义的帽子。
最后,当访问您配置的url时(在我们的示例中,/localsrv/my戋json),您将看到您的json字符串与 内容类型标题。
开发
要运行所有测试,请运行:
tox
更改日志
0.1.2(2015-04-26)
- 仅文档更改
0.1.1(2015-04-18)
- 添加了“测试设置”模块,可以立即运行应用程序。
0.1.0(2015-04-18)
- pypi上的第一个版本。