我开始学习Django,我正在实现"测试视图"功能.当我在shell中使用test Client时,异常发生如下.
无效的HTTP_HOST标头:'testserver'.您可能需要将u'testserver'添加到ALLOWED_HOSTS.
我按如下方式在shell中运行命令.
>>> from django.test.utils import setup_test_environment
>>> setup_test_environment()
>>> from django.test import Client
>>> client = Client()
>>> response = client.get('/')
>>> response.status_code
400
Run Code Online (Sandbox Code Playgroud)
在本教程中,应该出现404,但是我得到400.当我继续运行命令时,发生了同样的异常.
>>> response = client.get(reverse('polls:index'))
>>> response.status_code
400
Run Code Online (Sandbox Code Playgroud)
但结果必须是200.我想我应该在settings.py中声明ALLOWED_HOSTS,但我怎么办?我使用$ python manage.py runserver在localhost上运行服务器.
我想知道原因和解决方案.
这是settings.py如下.
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = '8v57o6wyupthi^#41_yfg4vsx6s($1$x0xmu*95_u93wwy0_&u'
DEBUG = True
ALLOWED_HOSTS = [127.0.0.1,'localhost']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
]
.... (MIDDLEWARE)
ROOT_URLCONF = 'tutorial.urls'
TEMPLATES …Run Code Online (Sandbox Code Playgroud) 我想在tr标签中找到第二个td元素,它有 4 个td标签。这是我想从那里获取的HTML代码。
<tr>
<td width="10%" class="cell">&nsp;</td>
<td class="cell" width="40%">Sports</td>
<td class="cell rgt" width="40%">-29.94</td>
<td width="10%" class="cell">&nsp;</td>
</tr>
<tr>
<td class="cell">&nsp;</td>
<td class="cell">Casino</td>
<td class="cell rgt">464.22</td>
<td class="cell">&nsp;</td>
</tr>
<tr>
<td class="cell">&nsp;</td>
<td class="cell">Poker</td>
<td class="cell rgt">14.29</td>
<td class="cell">&nsp;</td>
</tr>
<tr>
<td class="cell">&nsp;</td>
<td class="cell">Games / Bingo</td>
<td class="cell rgt">145.17</td>
<td class="cell">&nsp;</td>
</tr>
<tr>
<td class="cell">&nsp;</td>
<td class="cell b">Total</td>
<td class="cell b rgt">593.75</td>
<td class="cell b">&nsp;</td>
</tr>
<tr class="c3">
<td class="cell">&nsp;</td>
<td class="cell b">Withdrawals …Run Code Online (Sandbox Code Playgroud) 当我单击表单的外部区域时,表单将消失.我在Chrome上实现了此功能.
$(window).on("click", function(e) {
if( !$(event.target).closest('#login_form').length && !$(event.target).closest('#popup_btn').length ) {
$("#login_form").fadeOut("slow");
$("#popup_btn").fadeIn("slow");
$(".nk-header-table").attr("id", "");
}
});
Run Code Online (Sandbox Code Playgroud)
但它不适用于Mozilla.我认为因为nearest()方法.我该怎么处理?
我已经开始学习Django,我不确定include()函数的含义.
这里的mysite/urls.py.- 项目
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
这是民意调查/ urls.py.- 项目中的应用程序
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
Run Code Online (Sandbox Code Playgroud)
从django文档中,include()函数描述如下.
每当Django遇到include()时,它会删除与该点匹配的URL的任何部分,并将剩余的字符串发送到包含的URLconf以进行进一步处理.
我不确定那是什么意思,剩下的字符串是什么.
在上面的例子的情况下,什么是提醒字符串,什么是被切断的网址字符串?