我在heroku上运行一个网站。当我访问位于 www.mysite.com/admin 的网站管理员时,我的问题发生了。当我访问此页面时,我得到
DoesNotExist at /admin/
Site matching query does not exist.
Run Code Online (Sandbox Code Playgroud)
事实是,我的项目 /admin 在本地以及我的登台服务器上都可以工作。当我实时访问它时就会发生这种情况,我收到了那个错误。
环顾 SOF 后,我尝试使用以下命令运行 python manage.py shell:
from django.contrib.sites.models import Site
Site.objects.create(pk=1, domain='www.xxx.com', name='xxx.com')
Run Code Online (Sandbox Code Playgroud)
并且我将 SITE_ID = 1 更改为 SITE_ID = www.mysite.com,这最终破坏了我的登台服务器,因此我将其改回并再次尝试,但没有更改 SITE_ID。
可能是什么问题?
我的一个表格是给我这个错误,我似乎无法弄清楚问题是什么.
11:24:04 web.1 | Internal Server Error: /dash/location/add
11:24:04 web.1 | Traceback (most recent call last):
11:24:04 web.1 | File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 114, in get_response
11:24:04 web.1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
11:24:04 web.1 | File "/Library/Python/2.7/site-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
11:24:04 web.1 | return view_func(request, *args, **kwargs)
11:24:04 web.1 | File "/Library/Python/2.7/site-packages/django/views/generic/base.py", line 69, in view
11:24:04 web.1 | return self.dispatch(request, *args, **kwargs)
11:24:04 web.1 | File "/Library/Python/2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
11:24:04 web.1 | return handler(request, *args, …Run Code Online (Sandbox Code Playgroud) 我收到了三个不同的unixtimes
lastSeen = 1416248381
firstSeen = 1416248157
Run Code Online (Sandbox Code Playgroud)
最后一个是lastSeen - firstSeen:
duration = 224
Run Code Online (Sandbox Code Playgroud)
现在,我可以将lastSeen和firstSeen转换为datetime没问题.但我在持续时间方面遇到了麻烦.
我不确定如何将持续时间转换为分钟/秒.有没有人知道是否可以这样做?
作者解释的最小实现需要的功能在这里,看起来像:
function require(name) {
var code = new Function("exports", readFile(name));
var exports = {};
code(exports);
return exports;
}
console.log(require("weekDay").name(1));
// ? Monday
Run Code Online (Sandbox Code Playgroud)
我很难理解到底发生了什么,主要是因为这个例子不完整.现在,我接受了readFile()以字符串格式返回的代码.这部分让我感到困惑:为什么var exports要传递给代码,它在做什么,为什么要返回?exports对象如何返回readFile已检索的代码?
我在我的一种形式中使用 ReactSelect:
<Select name='event-title' className="event-title" ref="stateSelect" autofocus optionsComponent={DropdownOptions} onInputChange={this.handleChangeTitle} options={this.state.titleResults} simpleValue clearable={this.state.clearable} name="selected-state" value={this.state.selectedTitleValue} onChange={this.handleTitleChosen} searchable={this.state.searchable} />
Run Code Online (Sandbox Code Playgroud)
我想呈现一个自定义optionsComponent:
optionsComponent={DropdownOptions}
Run Code Online (Sandbox Code Playgroud)
通过查看示例,您可以呈现一个自定义组件,因此我进行了测试:
const DropdownOptions = React.createClass({
propTypes: {
children: React.PropTypes.node,
className: React.PropTypes.string,
isDisabled: React.PropTypes.bool,
isFocused: React.PropTypes.bool,
isSelected: React.PropTypes.bool,
onFocus: React.PropTypes.func,
onSelect: React.PropTypes.func,
option: React.PropTypes.object.isRequired,
},
handleMouseDown (event) {
event.preventDefault();
event.stopPropagation();
this.props.onSelect(this.props.option, event);
},
handleMouseEnter (event) {
this.props.onFocus(this.props.option, event);
},
handleMouseMove (event) {
if (this.props.isFocused) return;
this.props.onFocus(this.props.option, event);
},
render () {
return (
<div className={this.props.className}
onMouseDown={this.handleMouseDown}
onMouseEnter={this.handleMouseEnter}
onMouseMove={this.handleMouseMove} …Run Code Online (Sandbox Code Playgroud) 在下面的示例中,我很难理解请求是什么.POST正在将其作为参数:
def addauthorView(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
first_name = form.cleaned_data['firstname']
last_name = form.cleaned_data['lastname']
user_email = form.cleaned_data['email']
c = AuthorModel(firstname=first_name, lastname=last_name, email=user_email)
c.save()
return HttpResponseRedirect('thanks/')
else:
form = ContactForm(request.POST)
return render(request, 'addauthor.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
因此,我知道这可行,但是由于某种原因,我无法理解发生的魔力form = ContactForm(request.POST)。为什么ContactForm需要request.POST参数?幕后发生了什么?
额外的问题,为什么form = ContactForm(request.POST)然后在else:块中重复。为什么有用,什么时候有用?例子?
当我在当前项目中查看我的 settings.py 文件时,我意识到我不太确定 python 引擎盖下到底发生了什么 os.path.join
我尝试查找它,但它有点令人困惑 - 当你深入研究时似乎有点深奥。
因此,让我们以以下示例为例:
os.path.join(PROJECT_DIR, 'templates'),
Run Code Online (Sandbox Code Playgroud)
我想从这个例子中回答一些观点:
1. os.path.join 到底在做什么?究竟加入了什么?
2.什么是PROJECT_DIR?PROJECT_DIR 在哪里设置以及 PROJECT_DIR 本身如何始终指向项目目录,而不管其位置如何(在服务器上、本地等)?
现在让我们考虑这个例子(我从我朋友那里拿来的),当我在服务器上运行时(ON_OPENSHIFT 似乎是我的主机),我使用了一个特定的静态目录:
if ON_OPENSHIFT:
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
else:
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute …Run Code Online (Sandbox Code Playgroud) 我试图使用这个npm模块与browserify.
当我跑步时$ browserify build/widget.js -o bundle.js,我收到以下错误:
Error: Parsing file /Users/nir/browsewidget/node_modules/react-spin/src/main.js: Unexpected token (29:6)
at Deps.parseDeps (/usr/local/lib/node_modules/browserify/node_modules/module-deps/index.js:436:28)
at fromSource (/usr/local/lib/node_modules/browserify/node_modules/module-deps/index.js:375:44)
at /usr/local/lib/node_modules/browserify/node_modules/module-deps/index.js:369:17
at ConcatStream.<anonymous> (/usr/local/lib/node_modules/browserify/node_modules/concat-stream/index.js:36:43)
at ConcatStream.emit (events.js:129:20)
at finishMaybe (/usr/local/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:460:14)
at endWritable (/usr/local/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:469:3)
at ConcatStream.Writable.end (/usr/local/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:436:5)
at DuplexWrapper.onend (/usr/local/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_readable.js:537:10)
at DuplexWrapper.g (events.js:199:16)
Run Code Online (Sandbox Code Playgroud)
注意:该文件build/widget.js不是JSX,它是使用JSX编译器构建的.
为什么我会收到意外的令牌?
根据snozza的回答编辑:
我安装了npm install reactify --save.
然后我跑了% browserify -t reactify build/widget.js
哪给了-bash: fg: %: no such job
然后我尝试了browserify -t reactify build/widget.js
,这给了:
Error: Parsing …Run Code Online (Sandbox Code Playgroud) 我有以下JSON:
basket = {
"Items": 3,
"Item": {
"iPhone 6": {
"productId": 227,
"url": "http://example.com/iphone6",
"price": 299.99
},
"Solio Mono Solar Charger": {
"productId": 655,
"url": "http://website.com/solio_charger.html",
"price": 29.95
},
"24 Month Warranty Package": {
"productId": 681,
"url": "http://website.com/24_month_warranty.html",
"price": 129.95
}
},
"Total": 459.89
}
Run Code Online (Sandbox Code Playgroud)
我想循环遍历对象basket['Item'],但JSON本身并不提供一个数组来执行此操作,循环对象的最佳方法是什么basket['item']?
我的index.rst中有一个toctree看起来像这样:
.. toctree::
:maxdepth: 2
cat
dog
moose
Run Code Online (Sandbox Code Playgroud)
我希望使用'api documentation' 来嵌套我的toctree的内容,类似于这里的内容:
所以最终做出类似的事情:
.. toctree::
:maxdepth: 2
:dropdown Animals
cat
dog
moose
Run Code Online (Sandbox Code Playgroud)
但我似乎无法在文档中找到任何可以做到这一点的内容.
我正在使用React-Select。
目前,我正在从elasticsearch获取数据并将其设置为state:
var new_titles = []
body.hits.hits.forEach(function(obj){ // looping through elasticsearch
new_titles.push({value: obj._source.title_id, label: obj._source.title_name})
})
this.setState({titleResults: new_titles})
Run Code Online (Sandbox Code Playgroud)
后来我使用this.state.titleResults并将其传递到我的React-Select组件中:
<Select autofocus optionComponent={DropdownOptions} options={this.state.titleResults} simpleValue clearable={this.state.clearable} name="selected-state" value={this.state.selectedTitleValue} onChange={this.handleTitleChosen} searchable={this.state.searchable} />
Run Code Online (Sandbox Code Playgroud)
这很好。但是现在我想在用户搜索我的React-Select componentOptions时传递与此标题相关的额外元数据。像这样:

我只是传递{value: obj._source.title_id, label: obj._source.title_name},但是我想传递更多信息以供DropdownOption组件使用:
const DropdownOptions = React.createClass({
propTypes: {
children: React.PropTypes.node,
className: React.PropTypes.string,
isDisabled: React.PropTypes.bool,
isFocused: React.PropTypes.bool,
isSelected: React.PropTypes.bool,
onFocus: React.PropTypes.func,
onSelect: React.PropTypes.func,
option: React.PropTypes.object.isRequired,
},
handleMouseDown (event) {
event.preventDefault();
event.stopPropagation();
this.props.onSelect(this.props.option, event);
},
handleMouseEnter (event) {
this.props.onFocus(this.props.option, event);
},
handleMouseMove …Run Code Online (Sandbox Code Playgroud) 我在使用npm包React-Select时浏览了一些代码
有趣的是,我看到setState被这样使用:
handleSelectChange (value) {
console.log('You\'ve selected:', value);
this.setState({ value });
},
Run Code Online (Sandbox Code Playgroud)
setState如何这样工作?它只提供一个价值?我之所以问是因为我可能想从输入中捕获一件事然后进行更改。但这不能按预期工作。
handleSelectChange (value) {
console.log('You\'ve selected:', value);
this.setState({ value.name });
},
Run Code Online (Sandbox Code Playgroud)
完整的代码在这里,它很短:https : //github.com/JedWatson/react-select/blob/master/examples/src/components/Multiselect.js
我在提交表单时没有返回httpresponse对象时收到以下错误,我无法理解为什么:
Exception Type: ValueError at /contact/addcontact
Exception Value: The view openshift.contactapplication.views.contact didn't return an HttpResponse object.
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
# Create your views here.
from django.shortcuts import render_to_response, render
from django.http import HttpResponseRedirect, HttpResponse
#forms imports
from contactapplication.forms import applicantsForm
#model imports
from contactapplication.models import applicantsModel
def contact(request):
if request.method == 'POST':
form = applicantsForm(request.POST)
if form.is_valid():
clean_form =form.cleaned_data
collect = applicantsModel(first_name=clean_form['first_name'], last_name=clean_form['last_name'],
linkedin_profile=clean_form['linkedin_profile'], elevator_pitch=clean_form['elevator_pitch'],
email=clean_form['email'], phone=clean_form['phone'])
collect.save()
return HttpResponseRedirect('contactUs/contactUs.html') #the same page, change to thankyou page later
else:
return render(request, 'contactUs/contactUs.html',) …Run Code Online (Sandbox Code Playgroud) javascript ×6
python ×6
django ×5
reactjs ×4
django-forms ×2
node.js ×2
react-select ×2
arrays ×1
browserify ×1
datetime ×1
django-views ×1
heroku ×1
json ×1
module ×1
npm ×1
openshift ×1
python-2.7 ×1
reactjs-flux ×1
require ×1
state ×1