小编Gre*_*ade的帖子

request.get_host() 从哪里获取它的信息?(如何让它具有主机名而不是IP?)

我有一个 django 实例在虚拟机(不是由我管理)上使用 apache 和 mod_wsgi 提供服务。

request.get_host() 我从( 和)获得的值build_absolute_uri()是虚拟机的内部网络 IP 地址,而不是我用来发出 HTTP 请求的 Internet DNS 主机名。

需要在 django 外部进行哪些配置才能使 django 认为它的主机是外部主机名?

(目前我在 settings.py 中进行了修改,我在其中写入主机名并使用它来构造 url 等,作为解决方法)。

django

2
推荐指数
1
解决办法
5127
查看次数

如何扩展 Springboot 的 logback 配置?(default.xml 显然不可用)

我正在尝试按照Springboot logback 自定义说明进行操作

我想获得基本上默认的行为(所以我可以添加它)。

那个页面说:

A typical custom logback.xml file would look something like this:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/default.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
    </root>
    <logger name="org.springframework.web" level="DEBUG"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)

......所以我试过了,我得到了

ch.qos.logback.core.joran.action.IncludeAction 中的警告 - 找不到对应于 [org/springframework/boot/logging/logback/default.xml] 的资源

我的 build.gradle 中有很多:

dependencies {
    implementation(
            'org.springframework.boot:spring-boot-starter-web',
            'org.springframework.boot:spring-boot-starter-logging',
Run Code Online (Sandbox Code Playgroud)

...理论上我认为 starter-web 本身就足够了?

我错过了什么?

java logback spring-boot

2
推荐指数
1
解决办法
880
查看次数

一种简洁的方式来说"阵列中没有一个元素是无"的?

什么是简洁的python方式

if <none of the elements of this array are None>:
   # do a bunch of stuff once
Run Code Online (Sandbox Code Playgroud)

python python-2.7

1
推荐指数
3
解决办法
118
查看次数

为什么建议我们将模板放在project/app_name/templates/app_name/中?

在 django 教程中,建议将应用程序的模板放入

project/app_name/templates/app_name

这导致它们被这样的视图引用:

class ScenarioDetails(generic.DetailView):
    model = Scenario
    template_name= "cmmods/scenario.html"
Run Code Online (Sandbox Code Playgroud)

我想了解这个建议背后的原因。

我看不出在什么情况下放入模板会变得很糟糕

project/app_name/templates

并这样引用它们:

class ScenarioDetails(generic.DetailView):
    model = Scenario
    template_name= "scenario.html"
Run Code Online (Sandbox Code Playgroud)

这个建议的背后是什么?

django django-templates

1
推荐指数
1
解决办法
411
查看次数

美丽的汤查找 - 获取文本

我有一些代码只是作为字符串吐出价格(125.01),但我必须改变一些东西,因为现在它用html标签和所有内容打印整行.如何在不使用正则表达式的情况下将其打印出文本?

import requests
from bs4 import BeautifulSoup

url = 'http://finance.yahoo.com/q?s=aapl&fr=uh3_finance_web&uhb=uhb2'

data = requests.get(url)
soup = BeautifulSoup(data.content)
price = soup.find("span", {'id':'yfs_l84_aapl'})
print(price)


<span id="yfs_l84_aapl">125.01</span>
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup web

1
推荐指数
1
解决办法
1108
查看次数

基于 TCP 的打孔

我已经尝试 TCP 打孔一段时间了,在涉及基于 TCP 的方法和 C 编程语言时,论坛似乎没有多大帮助。以下是互联网的主要参考资料,

一种。http://www.brynosaurus.com/pub/net/p2pnat/
b. https://wuyongzheng.wordpress.com/2013/01/31/experiment-on-tcp-hole-punching/

我的设置是
客户端 A -- NAT-A -- Internet -- NAT-B -- 客户端 B。

假设客户端 A 知道 B 的公共和私有端点,而 B 知道 A 的端点(我已经编写了一个服务器“S”,用于在对等方之间交换端点信息),并且考虑到两个 NAT 都不对称,是否就足够了(实现 TCP打孔),如果两个客户端反复尝试 connect() 到彼此的公共端点(对于上述设置)?

如果没有,究竟需要做什么才能实现tcp打孔?

我在每个客户端上有两个线程,一个重复向其他客户端发出连接调用,另一个监听来自其他客户端的传入连接。我已确保两个线程中的套接字都绑定到提供给对等方的本地端口。另外,我看到两个 NAT 都保留了端口映射,即本地和公共端口是相同的。然而,我的程序不起作用。

我上面提到的集合服务器“S”是否可以在打洞或创建 NAT 映射中发挥作用,以允许 SYN 请求通过,到达对等方。如果是,必须做什么?

附上代码的相关部分。
connect_with_peer() 是入口点,在服务器“S”提供对等方的公共 ip:port 元组之后,该元组与完成绑定的本地端口一起提供给此函数。此函数产生一个线程( accept_handler() ),该线程也绑定到本地端口并侦听来自对等方的传入连接。如果connect() [主线程] 或accept() [子线程] 成功,connect_with_peer() 将返回一个套接字。

谢谢,
丁卡尔

volatile int quit_connecting=0;

void *accept_handler(void *arg)
{
    int i,psock,cnt=0;
    int port = *((int *)arg);
    ssize_t len;
    int asock,opt,fdmax;
    char str[BUF_SIZE]; …
Run Code Online (Sandbox Code Playgroud)

c tcp hole-punching

1
推荐指数
1
解决办法
2333
查看次数

Git如何添加具有相似名称的多个文件?

我有一个文件夹...让我们说10个文件.其中6个名称中有"user",我想轻松添加6个文件.

我想知道如何输入'git add'来获取名称中带有"user"的所有文件?

ps"用户"有时位于文件名的前面,中间或末尾.谢谢.

git

0
推荐指数
1
解决办法
50
查看次数

调用函数时,函数名和参数之间的“类型断言”是什么?

在这个Typescript React 入门指南中,它给出了:

import { createStore } from 'redux';

interface StoreState {
    languageName: string;
    enthusiasmLevel: number;
}

function enthusiasm(state: StoreState, action: EnthusiasmAction): StoreState {
    // returns a StoreState
}
const store = createStore<StoreState>(enthusiasm, {
     enthusiasmLevel: 1,
     languageName: 'TypeScript',   
});
Run Code Online (Sandbox Code Playgroud)

这个断言在那里做什么?

我找不到定义此语法的位置,也无法“推断”它的含义。

assertion typescript

0
推荐指数
1
解决办法
989
查看次数