我对Django很新,对MVC,DB查询也没有太多经验.
我有一个Customer表,其中包括customer_name,city_name以及state_name(从外键表中提取).在HTML中,我试图在列表中显示结果,首先按state_name按字母顺序排序,然后按city_name排序,再按customer_name name排序.像这样......
ARIZONA
PHOENIX
AAA, Inc.
BBB, LLC.
SCOTTSDALE
AAA, LLC.
DDD, Corp.
CALIFORNIA
ANAHEIM
...
Run Code Online (Sandbox Code Playgroud)
我的model.py如下:
from django.db import models
class Customer(models.Model):
def __unicode__(self):
return self.customer_name
customer_name = models.CharField(max_length=60)
city_name = models.CharField(max_length=30)
state = models.ForeignKey('State')
class State(models.Model):
def __unicode__(self):
return self.state_name
state_name = models.CharField(max_length=20)
state_code = models.CharField(max_length=2)
Run Code Online (Sandbox Code Playgroud)
在我的urls.py中,我有:
url("^customers/$",
direct_to_template,
{'template': 'pages_fixed/customers.html',
'extra_context': {'customers': Customer.objects.all().order_by('state')}},
name='customers'),
Run Code Online (Sandbox Code Playgroud)
在我的HTML中,我有一个工作模板:
<div class='customers'>
{% for customer in customers %}
<div class='block_customer'>
<p>{{ customer.state.state_name }}</p>
<p>{{ customer.city_name }}</p>
<p>{{ customer.customer_name }}</p>
</div>
{% …Run Code Online (Sandbox Code Playgroud) 我有一个FormView视图,使用get_context_data()提供了一些额外的GET上下文:
class SignUpView(FormView):
template_name = 'pages_fixed/accounts/signup.html'
form_class = SignUpForm
def get_context_data(self, **kwargs):
context = super(SignUpView, self).get_context_data(**kwargs)
context = {
'plans': common.plans,
'pricing': common.pricing,
}
return context
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,我在会话中也有一些值(不是来自任何绑定模型),我想预先填充到表单中.这些因用户在上一页上的操作而异.我知道(从我的另一篇文章中)我可以将表单传递给上下文(with initial=)但是在上面的FormView情况下是否可能?
根据Kramdown文档,设置选项parse_block_html应允许在html块内处理markdown(Kramdown)语法.
在我_config.yml,我有如下设置:
---
name: Blog Name
markdown: kramdown
kramdown:
parse_block_html: true
---
Run Code Online (Sandbox Code Playgroud)
然后在.md文件中,我尝试类似:
# Headline1
------------
<div>
# Headline2
------------
</div>
Run Code Online (Sandbox Code Playgroud)
div中的降价内容不会转换为HTML jekyll build.我错过了什么?(另外,有没有更简单的方法在任何其他markdown语法中执行此操作,例如RedCarpet?)
在我的assets/文件夹下,我有很多子文件夹,每个子文件夹包含任意数量的图像,如下所示:
assets/article1/
assets/article2/
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写gulp任务来查找其中的所有.jpg图像并生成其缩略图版本,以保存在thumbs/每个文件所在的文件夹中的子文件夹中:
assets/article1/ # original jpg images
assets/article1/thumbs/ # thumbnail versions of above..
assets/article2/
assets/article2/thumbs/
Run Code Online (Sandbox Code Playgroud)
我一直在尝试各种方法,但没有运气.我最接近的是:
gulp.task('thumbs', function () {
return gulp.src( './assets/**/*.jpg' )
.pipe( imageResize( { width: 200 } ) )
.pipe( gulp.dest( function( file ) { return file.base + '/thumbs/'; } ) );
});
Run Code Online (Sandbox Code Playgroud)
但是,这会thumbs\在根目录下创建一个文件夹assets\
assets/article1/
assets/article2/
assets/thumbs/article1/
assets/thumbs/article2/
Run Code Online (Sandbox Code Playgroud)
在任何地方都有关于路径和通配符的良好信息吗?显然我不是很好处理..
我最近通过子类化学习了Django表单FormView,其中所需的表单被分配给FormView.form_class属性.当表单验证时,将form_valid()调用该方法(对于该表单).例如:
from accounts.forms import SignUpForm, UpdateAccountForm, UpdateBillingForm
class SignUpView(FormView):
form_class = SignUpForm
def form_valid(self, form):
# code when form validates...
Run Code Online (Sandbox Code Playgroud)
但是,我现在有一种情况,我需要在一个页面上有三个独特的表单(一次只有一个表单对用户可见).所以,我想在同一个视图中处理它们.
使用FormView可以实现多表单页面吗?我不知道如何处理它,无论是将多个表单传递给View(例如另一个UpdateAccountForm和UpdateBillingForm),还是区分哪个表单已提交/验证?什么是最好的方式?
我从大型CSV文件中提取日期时间字符串,如下所示:
"11/19/2008 21:56"
Run Code Online (Sandbox Code Playgroud)
我想只提取小时,所以我可以建立一个所有小时的直方图来找到最常见的小时.同样,我想从日期中提取一周中的几天(姓名),并建立最常见日子的直方图.
我是Ruby的新手,查看了这些信息,对于初学者尝试了以下各种形式,但没有运气:
require 'date'
puts DateTime.strptime("11/19/2008 21:56", '%I')
Run Code Online (Sandbox Code Playgroud)
你能否建议一个简单(清晰)的方法来完成上述工作?此外,任何建议如何表示结果将是伟大的.我正在考虑一个小时(24个条目)和一个日期(7个条目)的哈希数组?当我遍历日期时间字符串时,加载它们的最新算法是什么,然后可能最频繁地对它们进行重新排序?谢谢!!
我使用的与之反应react-router 2.0.0-rc4,react-bootstrap 0.28.2和react-router-bootstrap 0.20.1.我有导航栏主要使用以下结构,但.active该类未正确应用:
<Navbar>
<Nav activeKey={ this.state.selectedKey } onSelect={ this._onSelect } >
<LinkContainer to="/">
<NavItem eventKey={1}>Home</NavItem>
</LinkContainer>
<LinkContainer to="/login">
<NavItem eventKey={2}>Login</NavItem>
</LinkContainer>
...
</Nav>
</Navbar>
Run Code Online (Sandbox Code Playgroud)
问题是.active当我在菜单项之间移动时,类没有被取消.因此,如果我单击NavItem 2,则两个项都变为活动状态(无论this.state.selectedKey设置为什么).我有一个更大的菜单,当点击任何菜单项时,所有导航项都被设置为活动状态.我错过了什么?
我不认为这个Q是这篇文章的重复,因为React-Bootstrap组件应该通过activeKeyprop 自动管理活动状态,但是..文档没有显示这个的明确例子,所以,困惑:(
我正在Safari OSX中使用iPhone模拟器来调试我的JavaScript。我正在使用控制台,但是,由于页面上有许多事件处理程序(此外,我想查看浏览器是否还会触发任何其他事件,例如:hover on touch),所以看到任何内容将非常有用/ ALL事件被实时触发。我在Firefox / FireBug中找到了有关如何执行此操作的文章。类似这样的Safari / iPhone Simulator?谢谢!
我在我的View中有一个表单,有两个下拉列表,都是从db表填充的,我想在下拉列表中发生onchange事件时自动提交表单:
<%= form_for @products, url: products_path, method: :get do |f| %>
<!-- POPULATE DROPDOWNS FROM DB DATA -->
<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}) %>
<%= select('post', 'category_id', @categories.collect {|c| [c.cat_name, c.id]}) %>
<div class='actions inline'><%= f.submit 'GO!' %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下的变体,但我在Ruby/Rails/JS上很新..到目前为止没有运气:
<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}, :onchange => "this.form.submit()") %>
<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}, :input_html => {:onchange => "this.form.submit()") %>
Run Code Online (Sandbox Code Playgroud)
任何意见是极大的赞赏!
我发现自己编写了包含事件处理程序的各种函数.感觉最好在父函数(闭包)的根处声明处理函数所需的变量,特别是如果它们是jQuery选择,多个处理程序所需的常量,或者我不想要的一些预计算每次激活事件时重复.一个简单的例子:
var touchDrag = function() {
var x, y, i;
var $mySelection = $('.selection');
$('#some-elem').on( 'touchmove', function(e) {
x = something;
y = something;
i++;
$mySelection.doSomething();
// more code..
});
}
Run Code Online (Sandbox Code Playgroud)
但是,我经常看到在处理函数(本地)内声明的处理程序变量.问了几位程序员,随后进行了一些辩论,但没有一个明确的答案.
我理解保持变量范围尽可能小是一种好习惯.但是,对于像.scroll()or 这样经常触发的事件touchmove,在我看来,每次触发事件时都会有一个很大的开销重新声明它们(而不是只分配一次每个var)?
django ×3
python ×3
javascript ×2
sorting ×2
closures ×1
datetime ×1
debugging ×1
formhelper ×1
gulp ×1
jekyll ×1
jquery ×1
kramdown ×1
macos ×1
markdown ×1
node.js ×1
postgresql ×1
react-router ×1
reactjs ×1
ruby ×1
safari ×1