当我使用以下Python代码向我的Django网站发送POST请求时,我得到403:Forbidden错误.
url = 'http://www.sub.domain.com/'
values = { 'var': 'test' }
try:
data = urllib.urlencode(values, doseq=True)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
except:
the_page = sys.exc_info()
raise
Run Code Online (Sandbox Code Playgroud)
当我打开任何其他网站时,它正常工作.domain.com也是Django网站,也可以正常使用.我认为,这是Django配置问题,任何人都可以告诉我应该怎么做才能提供对我脚本的访问权限?
我想从docstrings自动生成文档到我的代码.我有一些基本类用于存储一些数据:
class DataHolder:
"""
Class to hold some data
Attributes:
batch: Run without GUI
debug (bool): Show debug messages
"""
batch: bool = False
debug: bool = False
name: str = 'default'
"""Object name"""
version: int = 0
"""int: Object version"""
Run Code Online (Sandbox Code Playgroud)
我的rst档案:
DataHolder
==========
.. autoclass:: data_holder.DataHolder
:members:
Run Code Online (Sandbox Code Playgroud)
看起来Sphinx无法将该Attributes部分与真实属性连接起来,这就是为什么它无法显示其默认值.
我想要实现的最终输出是对于version定义了docstring 的字段的结果batch.我想显示具有默认值和类型的属性名称,但是从类型注释中获取.看起来Sphinx在这种情况下忽略了类型注释.
我的狮身人面像扩展:
extensions = [
'sphinx.ext.viewcode',
'sphinx.ext.autodoc',
'sphinxcontrib.napoleon',
]
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能实现这种行为?我找不到这种用例的好例子.
我正在做一个 Django 项目。由于这是一个新项目,我希望使用 python 3.6+ 类型注释对其进行完整注释。我正在尝试注释模型,但我很难找到一种好的方法。
让我们IntegerField以 为例。我看到两个注释它的选择:
# number 1
int_field: int = models.IntegerField()
# number 2
int_field: models.IntegerField = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
1 在 mypy 中失败:
Incompatible types in assignment (expression has type "IntegerField[<nothing>, <nothing>]", variable has type "int")
Run Code Online (Sandbox Code Playgroud)
编号 2 对 mypy 来说是可以的,但是 IDE 作为 PyCharm 无法解决它,并且经常抱怨使用了错误的类型。
是否有正确注释模型的最佳实践,这将满足 mypy 和 IDE 的要求?
我想在我的下一个项目中使用 Svelte,因为它的语法简洁并且使用起来非常愉快。不幸的是,要在我的公司部署该应用程序,我无法node在服务器上使用或类似的东西。我只能nginx以静态文件的形式提供应用程序。
苗条有可能吗?我找不到任何可以让我这样做的东西,我尝试过的所有解决方案似乎都@sveltejs/adapter-static没有正确生成以这种方式使用它。我在网上找不到任何有关如何执行此操作的指南。
我正在尝试更改该client_max_body_size值,因此我的nginx入口不会返回413错误.
我测试了一些解决方案.
这是我的测试配置图:
kind: ConfigMap
apiVersion: v1
data:
proxy-connect-timeout: "15"
proxy-read-timeout: "600"
proxy-send-timeout: "600"
proxy-body-size: "8m"
hsts-include-subdomains: "false"
body-size: "64m"
server-name-hash-bucket-size: "256"
client-max-body-size: "50m"
metadata:
name: nginx-configuration
namespace: ingress-nginx
labels:
app: ingress-nginx
Run Code Online (Sandbox Code Playgroud)
这些更改完全没有效果,加载后,在nginx控制器日志中我可以看到有关重新加载配置图的信息,但是nginx.conf中的值是相同的:
root@nginx-ingress-controller-95db685f5-b5s6s:/# cat /etc/nginx/nginx.conf | grep client_max
client_max_body_size "8m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
Run Code Online (Sandbox Code Playgroud)
我的nginx-controller配置使用这个图像:quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.13.0
如何强制nginx更改值?对于我所有的进入,我需要在全局范围内进行更改.
我有一个类是我的其他非qt类的基础.该类使用Signal实例实例化QObject类.不幸的是,有时它会引发Segmentation Fault错误.这是我的代码:
class PublisherSignal(QObject):
notify = Signal(list)
class PublisherBase:
def __init__(self, *args, **kwargs):
super(PublisherBase, self).__init__(*args, **kwargs)
self._signal = PublisherSignal()
Run Code Online (Sandbox Code Playgroud)
错误处理程序显示,分类错误发生在PublisherSignal()类实例化上.并非总是如此.在大多数情况下,它工作正常.没有线程涉及.子类PublisherBase不是子类QObject.
段错误的原因是什么?
我有一个包含 3 列的 HTML 表 - ID、时间戳和数据。ID 和时间戳非常窄,数据可能非常大,有时它没有换行符,以避免我设置的水平滚动条overflow-wrap: break-word。为了使它工作,我需要将我table-layout的fixed.
虽然它有效,但我不喜欢所有列现在都具有相等的宽度。我可以将前两列大小设置为某个固定宽度,但我希望它们适合内容。如何强制前 2 列调整其宽度,第三列占用剩余空间?
这是我的代码示例:
<table style="width: 100%; table-layout: fixed; overflow-wrap: break-word">
<tr>
<th>ID</th>
<th>Time</th>
<th>Data</th>
</tr>
<tr>
<td>0</td>
<td>10:11</td>
<td>some_long_value_that_may_or_may_not_contain_a_space</td>
</tr>
<tr>
<td>1</td>
<td>10:12</td>
<td>some_long_value_that_may_or_may_not_contain_a_space</td>
</tr>
<tr>
<td>2</td>
<td>10:13</td>
<td>some_long_value_that_may_or_may_not_contain_a_space_and_it_may_be_so_long_that_it_wont_fit_into_the_column_and_needs_to_be_wrapped</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
基本上我需要的是以某种方式强制前 2 列忽略table-layout: fixed或强制overflow-wrap: break-word没有它的工作。
Gitlab具有生成有关构建状态和覆盖百分比的徽章的功能.
是否可以创建自定义徽章以显示Pylint结果?或者只是在README.md中显示此结果?
我已经为Pylint做了CI工作
我想在actix中制作一个用于渲染模板的辅助函数,如下所示:
fn render_response(
tera: web::Data<Tera>,
template_name: &str,
context: &Context,
) -> impl Responder {
match tera.render(template_name, context) {
Ok(rendered) => HttpResponse::Ok().body(rendered),
Err(_) => HttpResponse::InternalServerError().body("Failed to resolve the template."),
}
}
Run Code Online (Sandbox Code Playgroud)
我在如下视图中使用它:
async fn signup(tera: web::Data<Tera>) -> impl Responder {
let mut data = Context::new();
data.insert("title", "Sign Up");
render_response(tera, "signup.html", &data)
}
Run Code Online (Sandbox Code Playgroud)
如果视图与上面的一样简单,则一切正常,但如果视图稍微复杂一点,我就会遇到问题:
async fn login(tera: web::Data<Tera>, id: Identity) -> impl Responder {
let mut data = Context::new();
data.insert("title", "Login");
if let Some(id) = id.identity() {
return HttpResponse::Ok().body(format!("Already logged in: {}.", …Run Code Online (Sandbox Code Playgroud) 跳转到编辑查看更多真实代码示例,更改查询顺序后不起作用
这是我的模型:
class ModelA(models.Model):
field_1a = models.CharField(max_length=32)
field_2a = models.CharField(max_length=32)
class ModelB(models.Model):
field_1b = models.CharField(max_length=32)
field_2b = models.CharField(max_length=32)
Run Code Online (Sandbox Code Playgroud)
现在,每个创建 2 个实例:
ModelA.objects.create(field_1a="1a1", field_2a="1a2")
ModelA.objects.create(field_1a="2a1", field_2a="2a2")
ModelB.objects.create(field_1b="1b1", field_2b="1b2")
ModelB.objects.create(field_1b="2b1", field_2b="2b2")
Run Code Online (Sandbox Code Playgroud)
如果我只查询一个带注释的模型,我会得到类似的信息:
>>> ModelA.objects.all().annotate(field1=F("field_1a"), field2=F("field_2a")).values("field1", "field2")
[{"field1": "1a1", "field2": "1a2"}, {"field1": "2a1", "field2": "2a2"}]
Run Code Online (Sandbox Code Playgroud)
这是正确的行为。问题开始了,当我想合并这两个模型时:
# model A first, with annotate
query = ModelA.objects.all().annotate(field1=F("field_1a"), field2=F("field_2a"))
# now union with model B, also annotated
query = query.union(ModelB.objects.all().annotate(field1=F("field_1b"), field2=F("field_2b")))
# get only field1 and field2
query = query.values("field1", "field2")
# the results are skewed: …Run Code Online (Sandbox Code Playgroud) python ×5
django ×3
actix-web ×1
autodoc ×1
css ×1
django-orm ×1
gitlab ×1
gitlab-ci ×1
html ×1
http-post ×1
javascript ×1
kubernetes ×1
nginx ×1
pylint ×1
pyside ×1
python-3.6 ×1
python-3.x ×1
rust ×1
svelte ×1
sveltekit ×1
types ×1