我想编写Python脚本,它将:
现在代码看起来像这样:
import SimpleHTTPServer
import SocketServer
import urllib
import urllib2
# Variables
URL = 'localhost:8000'
PORT = 8000
# Setup simple sever
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
# Getting HTML from the target page
values = {
'name': 'Thomas Anderson',
'location': 'unknown'
}
data = urlilib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
html = response.read()
Run Code Online (Sandbox Code Playgroud)
问题是,一旦我运行我的脚本
python -i foo.py
Run Code Online (Sandbox Code Playgroud)
它打印serving at port 8000然后冻结.我敢打赌这对于这里的Python专家来说是微不足道的,但是我们将不胜感激.
有路由器:
router.register('users', UsersViewSet, base_name='users')
Run Code Online (Sandbox Code Playgroud)
和一个ViewSet:
class UserViewSet(viewsets.ReadOnlyModelViewSet):
def get_queryset(self):
return self.get_object_list()
def get_object(self):
for input in self.get_object_list():
if input.id == self.kwargs['pk']:
self.check_object_permissions(self.request, input)
return input
raise MyCustomNotFound()
Run Code Online (Sandbox Code Playgroud)
当我转到"/ rest/users /"时,它会显示用户列表.当我去"rest/users/1"时 - 它会显示某些用户的详细信息.
现在我想创建一个/ employees只读资源,它扩展了User,但只显示了list(键入类似"/ employees/1"的内容显示了Django 404).
解决方案:
1)覆盖get_object()并返回Http404 - 不起作用它显示带有数据而不是404页面的REST页面.
2)用在描述什么http://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset - user_list = UserViewSet.as_view({'get': 'list'})在路由器文件-不工作.
跟进有关使用Express服务器设置SSR的官方Angular教程:https : //angular.io/guide/universal#configure-for-universal
本教程将设置如下路径:
...
const DIST_FOLDER = join(process.cwd(), 'dist');
...
app.set('views', join(DIST_FOLDER, 'browser'));
Run Code Online (Sandbox Code Playgroud)
这在本地服务器上效果很好。
但是,一旦部署在服务器上(由Nginx提供支持),就会出现错误:
错误:无法在ServerResponse.render(/ var / proj_name /)的Function.render(/var/proj_name/server.js:44670:17)的视图目录“ / home / user_name / dist / browser”中查找视图“索引”在Layer.handle的/var/proj_name/server.js:121:9处的server.js:53701:7)[在下一个(/ var / proj_name)处[作为handle_request](/var/proj_name/server.js:46582:5) /server.js:46330:13)位于Route.dispatch(/var/proj_name/server.js:46305:3)位于Layer.handle [作为handle_request](/var/proj_name/server.js:46582:5)位于/ param的/var/proj_name/server.js:45805:22(/var/proj_name/server.js:45878:14)at param(/var/proj_name/server.js:45889:14)
如何正确处理此问题,以便该应用程序既可以在本地(用于开发)又可以在生产服务器上正常运行?
编辑:
还尝试使用__dirname代替:
app.get(' 。 ',express.static(join(__ dirname,'browser')));
但这在本地和生产服务器上均失败:
错误:无法在视图目录“ /浏览器”中查找视图“索引”
编辑2:
我已经设法通过将browser文件夹移到来完成这项工作~/dist/browser。但我不希望该应用程序以这种方式工作。
看起来失败的代码在server.ts中:
// All regular routes use the Universal engine
app.get('*', (req, res) => {
res.render('index', { req });
});
Run Code Online (Sandbox Code Playgroud)
在本地运行时,const DIST_FOLDER = …
我正在处理 Django/Dojo 项目。突然间我无法修改 HTML 文件。当我尝试编辑它时,我的浏览器显示此消息:
This page contains the following errors:
error on line 11 at column 79: Specification mandate value for attribute required
Below is a rendering of the page up to the first error.
Run Code Online (Sandbox Code Playgroud)
导致问题的行是:
<input data-dojo-type="dijit/form/ValidationTextBox">
Run Code Online (Sandbox Code Playgroud)
我不明白是什么导致了这种情况。
这是 Dojo 的问题,还是 Dreamweaver 或 Google Chrome 的问题?
尝试编写一个单元测试,检查用户是否输入了正确的密码.
使用Django的本机身份验证功能user.check_password.
问题是由于某种原因,check_password不接受user对象自己的密码.例如,这会引发错误:
assert user.check_password(user.password), "Password doesn't match"
Run Code Online (Sandbox Code Playgroud)
user.password 返回MD5 unicode字符串.
有谁知道为什么这不通过支票以及检查如何通过?
在python中是否可以根据条件调用dot-syntax-function.转向的简单示例:
if condition:
foo().bar().baz()
lots_of_code()
else:
foo().baz()
lots_of_code()
def lots_of_code():
# lots of code
Run Code Online (Sandbox Code Playgroud)
成:
foo().(if condition: bar()).baz()
# lots of code only once
Run Code Online (Sandbox Code Playgroud) 我想编译下一个LESS规则: - 当前元素之后的每个元素,除了第一个子元素
它应该看起来像这样:
(& ~ *):not(:first-child) {
margin-left: 5px;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
& ~ *:not(:first-child) {
margin-left: 5px;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是两个都不起作用.
使用Django的GenericIPAddressField- https://docs.djangoproject.com/en/1.10/ref/models/fields/#genericipaddressfield为我的模型这样:
group_address = models.GenericIPAddressField()
Run Code Online (Sandbox Code Playgroud)
如果输入了无效值,则返回一条消息:
Enter a valid IPv4 or IPv6 address.
Run Code Online (Sandbox Code Playgroud)
现在在我的情况下,该字段只接受IPv4地址.我想从邮件中删除IPv6.
是否可以调整GenericIPAddressField为仅处理IPv4或覆盖错误消息?
点号是什么 .:
- .:/var/www/project:cached
Run Code Online (Sandbox Code Playgroud)
在这种情况下的意思是:
version: '3'
services:
php:
image: php:7.1-fpm
ports:
- 9000
volumes:
- .:/var/www/project:cached
Run Code Online (Sandbox Code Playgroud)
这是bash语法的一部分,还是Docker语法的一部分(两者均未找到任何信息)。