新手编程在这里.我有一个有很多行的模型,我想将每一行传递给javascript.
第一次尝试:
Views.py
events = Events.objects.filter(user_id=user_id) // filter by user_id
context = {
"email": request.user.email,
"login": True,
"objects": events,
}
return render(request, 'fullcalendar/index.html', context)
Run Code Online (Sandbox Code Playgroud)
Events是表的名称,我存储了每一行events.将其传递到一个dict context,然后传递给我的模板.然后从我的模板我能够做到这样的事情:
{% for object in objects %}
<p>event.column_name</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但我不能在javascript部分那样做.
{% for object in objects %}
var date = object.date // assuming object has a column named date
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
第二次尝试
所以我做了一些研究并决定使用json.
在Views.py中,我做了以下更改:
return render(request, 'fullcalendar/index.html', {"obj_as_json": simplejson.dumps(context)})
Run Code Online (Sandbox Code Playgroud)
从此我希望这样做:
var objects = {{ obj_as_json }}
for object in …Run Code Online (Sandbox Code Playgroud) 我想测试我使用本地主机创建的 API。
import requests
def test_post_spread_api():
r = requests.post("https://localhost:8000/api/test")
print(r.status_code)
test_post_spread_api()
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /api/misc/spread_monitor (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f8298604940>: Failed to establish a new connection: [Errno 111] Connection refused',))
Run Code Online (Sandbox Code Playgroud)
API 没有任何问题,因为它在我使用邮递员时有效。我正在使用带有 django 框架的 docker 运行我的本地主机。有任何想法吗?
编辑:完整回溯:
Traceback (most recent call last):
File "sandbox/test_spread_monitor.py", line 12, in <module>
test_post_spread_api()
File "sandbox/test_spread_monitor.py", line 9, in test_post_spread_api
r = requests.post("https://localhost:8000/api/test")
File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 112, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.6/site-packages/requests/api.py", line …Run Code Online (Sandbox Code Playgroud) 我试图在 ReactJs 中渲染我的组件之前加载一些初始数据。我也在Flux这个过程中使用该架构。这是我的container:
class MemoryApp extends React.Component {
constructor(props){
super(props);
MemoryActions.getInit();
this.state = {};
}
componentWillMount(){
MemoryStore.on("init", () => {
this.setState({
memory: MemoryStore.getInit()
});
})
}
render(){
return (
<div>
<button type="button">Get Random Memory</button>
<h1>Memory App</h1>
<MemoryImage memory={this.state.memory}/>
<MemoryText memory={this.state.memory}/>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
getInit()因此,在这个文件中,我调用了调用 API 来获取一些数据的操作。一旦收到此数据,init事件将由以下各项发出store:
class MemoryStore extends EventEmitter {
getInit(){
return this.memory_response;
}
initLoad(response){
this.memory_response = response;
this.emit("init");
}
handleActions(action){
switch (action.type) {
case MemoryConstants.GET_INIT_RESPONSE:{
this.initLoad(action.response);
break;
} …Run Code Online (Sandbox Code Playgroud) 在heroku域上,我无法加载我的媒体(使用ImageField属性保存的图像)文件图像.但是,如果我设置,我能够看到保存在静态字段中的图像debug = True
我使用以下命令保存我的图像:
image = models.ImageField(upload_to=upload_location, null=True, blank=True, width_field="width_field", height_field = "height_field")
Run Code Online (Sandbox Code Playgroud)
我能够通过这样的方式在我的模板中引用它们:
<img src="{{ instance.image.url }}" class="img-responsive">
Run Code Online (Sandbox Code Playgroud)
从我的views.py传递实例的方式如下:
instance = get_object_or_404(Post,slug=slug)
if instance.draft or instance.publish > timezone.now().date():
if not request.user.is_staff or not request.user.is_superuser:
raise Http404
share_string = quote_plus(instance.content)
context = {
"title": "Detail",
"instance": instance,
"share_string":share_string,
}
return render(request,"post_detail.html",context)
Run Code Online (Sandbox Code Playgroud)
谢谢
我试图在python 3.6中使用多处理.我有一个用不同的参数for loop运行method.目前,它一次运行一个,这需要花费相当多的时间,所以我尝试使用多处理.这是我有的:
def test(self):
for key, value in dict.items():
pool = Pool(processes=(cpu_count() - 1))
pool.apply_async(self.thread_process, args=(key,value))
pool.close()
pool.join()
def thread_process(self, key, value):
# self.__init__()
print("For", key)
Run Code Online (Sandbox Code Playgroud)
我认为我的代码使用3个进程来运行一个method但我希望每个进程运行1个方法,但我不知道如何完成.我正在使用4核btw.
我正在尝试将 aqueryset作为JSON对象传递:
structure=Fund.objects.all().values('structure').annotate(total=Count('structure')).order_by('-total')
但是,querysets不是Json Serializable因此,我修改了我的代码:
from django.core import serializers
structure=serializers.serialize('json',Fund.objects.all().values('structure').annotate(total=Count('structure')).order_by('-total'))
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:AttributeError: 'dict' object has no attribute '_meta'这是我的查询集:<QuerySet [{'total': 106, 'structure': 'Corp'}, {'total': 43, 'structure': 'Trust'}, {'total': 2, 'structure': 'OM'}, {'total': 0, 'structure': None}]>
我正在尝试使用react-router-dom. 我的main页面将有一个nav-bar,我只想更改内容。所以在我的站点路由器页面中,我有这样的事情:
import React from 'react'
import { BrowserRouter, Switch, Route } from 'react-router-dom'
import {FundDetails} from "../pages/fund_detail";
import {Dashboard} from "../pages/dashboard";
import {Main} from "../pages/main";
export class SiteRouter extends React.Component {
render(){
return (
<BrowserRouter>
<Switch>
<Route component={Main}/>
<Route path="/fund_details" component={FundDetails} />
<Route path="/dashboard" component={Dashboard} />
</Switch>
</BrowserRouter>
);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我navbar.js的链接中:
import React from 'react';
import { NavItem, Nav, Navbar } from 'react-bootstrap';
import styled from 'styled-components';
import Particles from …Run Code Online (Sandbox Code Playgroud) 我正在使用 JQuery 的 Timepicker 插件。这是我的代码:
<div class="form-group">
<label for="time">Time of Event</label>
<input id="time" class="timepicker" >
</input>
</div>
<script>
$(document).ready(function() {
$('input.timepicker').timepicker({});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如您所见,时间选择器出现在模态表单后面,我无法访问它。我认为这与 z-index 有关,所以我在玩这个。但是,我目前没有成功。
这是我尝试过的: <input id="time" class="timepicker" style="z-index:1151 !important" >
有任何想法吗?
编辑:好了,由于某种原因,当我试图改变z-index的timepicker它不会改变。就像它被什么东西覆盖了一样。但是,如果我在Google Chrome Inspect窗口中手动更改它,它会起作用。
我有一个登录系统:
def login(request):
title = "Login"
if request.user.is_authenticated():
return HttpResponseRedirect('/')
form = UserLoginForm(request.POST or None)
if request.POST and form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = auth.authenticate(username=username, password=password)
if user:
auth.login(request, user)
return HttpResponseRedirect("/")# Redirect to a success page.
return render(request, 'accounts/login.html', {'title':title, 'form': form })
def logout(request):
auth.logout(request)
return HttpResponseRedirect('/accounts/login')
Run Code Online (Sandbox Code Playgroud)
而且效果很好。但是,当我尝试添加时,context_processor它将停止工作并显示以下错误:
Environment:
Request Method: GET
Request URL: http://localhost:8000/accounts/login/
Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request) …Run Code Online (Sandbox Code Playgroud) 我试图用来Crispy Forms使表格看起来不错。我的内容如下forms.py:
from django import forms
from .models import Team
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Field
from crispy_forms.bootstrap import (
PrependedText, PrependedAppendedText, FormActions)
class CreateTeamForm(forms.ModelForm):
class Meta:
model = Team
fields = [ 'Project_name', 'Project_number'
]
helper = FormHelper()
helper.add_input(Submit('submit', 'Submit', css_class='btn-primary'))
helper.form_method = 'POST'
Run Code Online (Sandbox Code Playgroud)
然后在我的views.py:
def create_team(request):
if request.method == 'POST':
form = CreateTeamForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return render('/teams/my_team.html',{''})
else:
form = CreateTeamForm()
return render(request, 'teams/team_form.html', {'form':CreateTeamForm()})
Run Code Online (Sandbox Code Playgroud)
最后在我的模板中: …
python ×6
django ×5
javascript ×3
json ×2
reactjs ×2
css ×1
forms ×1
heroku ×1
html ×1
jquery ×1
react-router ×1
reactjs-flux ×1