django应用程序,使用自定义http头,在自定义路径上提供来自不同来源(文件、字符串、url等)的静态内容。作为比python的simplehttpserver更灵活的选项

django-localsrv的Python项目详细描述


Documentation StatusTravis-CI Build StatusAppVeyor Build StatusCoverage StatusCode Quality StatusScrutinizer Status
PyPI Package latest releasePyPI Package monthly downloadsPyPI WheelSupported versionsSupported imlementations

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上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在javaswing中使用进度条,同时函数在繁重的进程中工作   SWIG(Java):如何调用带有void*out参数的函数?   java帮助解决算法问题   java,但我不想用try/catch块来包围语句!   可以从java类调用安卓类吗?   java流拆分器实现细节   java组织。莫基托。例外情况。滥用。无效使用MatcherException   java如何显示接收到的字符串?   java为什么这段代码不像JSR133建议的那样进入无限循环?   java BufferedReader readLine()从socket获取数据时冻结   java如何使用html表单发送的XML?   java RxJava与观察者代码的并行执行   我想使用CoreJava基于文本输入动态创建一个jpg图像   java如何在Mockito中模拟注入的bean?   java我的程序突然停止工作,我没有改变我记得的任何东西,现在它给出了第二个错误:javafx。fxml。加载异常   java树集排序错误   java RSA加密解密AES密钥并存储在文件中   Java将变量字符串[]与字符串混合在一个字符串数组中   如何在鼠标移动时重新绘制Java SWT应用程序?