小编Gar*_*nzo的帖子

Django - 手动构建 HttpResponse,但也想使用模板

当您返回一个HttpResponse对象时,render_to_response您可以提供一个模板,它会使用该模板并填写{{ variables }}您在模板中设置的所有内容。

如果我想HttpResponse手动构建我的对象,是否仍然可以在我的模板目录中使用我的模板之一?

python django django-templates

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

Django CBV DetailView - 访问对象以分配给上下文变量?

我想将对象的特定字段分配给另一个context变量。对于基于函数的视图,这只是声明键:值对的问题:

context = {
  'title': my_object.nick_name
}
Run Code Online (Sandbox Code Playgroud)

现在在我的模板中,我可以使用该变量{{ title }},它将显示对象的字段nick_name

我如何使用基于类的视图实现同样的效果?

例如,我有这个简单的 DetailView:

class MyObjDetail(DetailView):
  model = MyObject

  def get_context_data(self, **kwargs):
    context = super(MyObjectDetail, self).get_context_data(**kwargs)
    context['title'] = ????? <--- right here
    context['cancel'] = reverse_lazy('my_objs:my_objs_list')
    return context
Run Code Online (Sandbox Code Playgroud)

我想将变量分配{{ title }}为使用nick_name此类基于视图显示的对象的字段。我该怎么做呢?

django django-class-based-views

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

VueJS - 创建一个表,但能够单击一行来打开该行的详细信息

我是VueJS的新手,所以这可能是一个非常简单的问题,但是这里有.

我正在调用我的API来获取一组记录.我想在一个简单的表中显示这些记录,但是我希望能够单击该行的最后一个单元格中的链接并将其发送到新的URL - 该对象的详细信息的URL.

这是我到目前为止所拥有的:

Vue Stuff:

var vm = new Vue({
  el: '#league-table',
  data: {
    leagues: [],
    apilink: '/api/leagues/',
  },

  mounted: function() {
    this.getLeagues();
  },
  methods: {
    getLeagues: function() {
      var self = this
      $.get('/api/leagues/', function(data){
        $.each(data, function(index, obj) {
          self.leagues.push(obj)
        });
      });
    },
    sayConsole: function() {
      console.log("OUTPUT here....")
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

HTML资料:

   <div class='card__content'>
      <div id='league-table' class='table-responsive'>
        <table class='table table--lg team-roster-table table-hover'>
          <thead>
            <th class='team-roster-table__name'>ID</th>
            <th class='team-roster-table__name'>Name</th>
            <th class='team-roster-table__name'>Characters</th>
            <th></th>
          </thead>

          <tbody>
            <tr v-for='league in leagues'>
              <td class='team-roster-table__number'>{{ …
Run Code Online (Sandbox Code Playgroud)

vue.js

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

Django ModelForm字段 - 必须有多个?

我的模型有超过25个字段.我想创建一个表单来只编辑其中一个字段.因此我这样做了:

class My_Model_Form(ModelForm):
    class Meta:
        model = myModel
        fields = ('myField')
Run Code Online (Sandbox Code Playgroud)

这给了我错误Unknown field(s) (i, b, l, o, T) specified for My_Model_Form.所以,我把上面改为:

class My_Model_Form(ModelForm):
    class Meta:
        model = myModel
        field = ('myField')
Run Code Online (Sandbox Code Playgroud)

(I除去小号fields).这样(但在runserver命令运行中),该表单现在包括模型中的所有字段myModel.我可以获得所需的单字段表单的唯一方法是使用exclude关键字,并列出除我想要的字段之外的所有字段.这看起来很荒谬.

我是不是错了.有没有更好/正确的方法来做到这一点?

谢谢!

django django-forms

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

Django - 更改内联formset textInput大小属性

我有一个只有三个字段的内联formset:

class Estimate_Product_Details(models.Model):
    proposalID = models.ForeignKey(Estimate_Construction, verbose_name='Proposal ID')
    CID = models.ForeignKey(Product, verbose_name = 'CID')
    qty = models.DecimalField(max_digits = 7, decimal_places = 2, verbose_name = 'Quantity')

    def __unicode__(self):
        return u'%s -- %s' % (self.proposalID, self.CID)
Run Code Online (Sandbox Code Playgroud)

然后我从该模型创建一个表单:

class Product_Form(ModelForm):
    class Meta:
        model = Estimate_Product_Details
        fields = ('CID', 'qty')
        widgets = {
            'qty' : forms.TextInput(attrs={'size':30})
            }
Run Code Online (Sandbox Code Playgroud)

我的目标是让qty输入字段非常小(我有30个用于测试).但是,当我通过内联formset渲染此表单时,该属性根本没有设置.这是在我的视图中创建formset:

    pFormSet = inlineformset_factory(Estimate_Construction, Estimate_Product_Details, form = Product_Form)
Run Code Online (Sandbox Code Playgroud)

我哪里错了?为什么qty场地不会变大?

django django-forms inline-formset

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

Django - 在模板中转义引号

我正在尝试创建一个包含代表联系人的数据行的表 - 人员和公司联系人的混合.我希望每一行都是"可点击的",以便在点击时,提取该联系人的表单进行编辑.要做到这一点,我有这样的事情:

<tr onclick="window.location.href='{% url my.django.view %}'">...
Run Code Online (Sandbox Code Playgroud)

你会注意到上面有两个级别的引号:一个双"等于之后,然后一个'来封装django模板标签.有两种类型的联系人:公司和人.我有我的urls.py设置来处理这个,具有以下内容:

(r'^contact-details/(?P<cType>C)/(?P<cid>N)/$', contact_details),
(r'^contact-details/(?P<cType>P)/(?P<cid>N)/$', contact_details),
(r'^contact-details/(?P<cType>C)/(?P<cid>.*)/$', contact_details),
(r'^contact-details/(?P<cType>P)/(?P<cid>.*)/$', contact_details),
Run Code Online (Sandbox Code Playgroud)

所以,有了上面的内容,我有两个新联系人的网址(由cTypeC =公司或cTypeP = Person 区分),然后是现有联系人的两个网址(cid用于记录的主键).

列在所有联系人列表中的行中的链接如下所示:

<tr onclick="window.location.href='{% url cpm.contacts.views.contact_details 'P' c.pk %}'">
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我无法将"P"或"C"传递到链接中,因为它会导致第三级引号,从而将所有引号分开.我只是不知道如何逃避P或C周围的第三级报价.

有任何想法吗?

html django

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

Django - 记录每个视图的动作

我正在考虑为我的django Web应用程序创建一个日志系统.Web应用程序的使用非常全面(涵盖了业务流程的所有方面),因此我想跟踪发生的每个事件.具体来说,我想记录每个运行的视图而不仅仅是"主要"视图,并且可能记录视图中执行的内容.

当我处于测井系统的"想法"阶段时,我很快就遇到了一些问题,让我不确定如何继续.以下是我的主要问题:

  • 我正在考虑将主要Web应用程序保存其数据的同一MySQL数据库中的所有事件记录下来.我担心的是将MySQL数据库膨胀成一个庞大的数据库.此外,如果数据库崩溃或以某种方式被破坏(是的,我有备份)我也会丢失我的日志,这会消除任何追踪问题的能力.我是使用单独的数据库还是只使用文本文件?
  • 我有多精细?最初我只想记录"Date - In my myView"之类的东西.但是,正如我正在考虑的那样,记录视图中发生的所有内容会很好.这样做可能会使日志变得庞大!而且如果将很多日志输入行混合到代码中,也会使我的代码难看.这种细节:
    • 日期 - 输入视图myView
    • 日期 - 在视图中查看myView,从数据库中检索对象myObject
    • 日期 - 在视图myView中,将myObject字段myField设置为myNewValue
    • 日期 - 离开myView

这是我在这一点上的主要想法.关于这方面的任何建议?

谢谢

django logging django-views

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

基于Django类的视图 - 将所有代码放在urls.py中是不好的风格?

刚刚完成一些CBV的工作,并想知道这是不好的风格.通常,您views.pyurls.py该视图中有一个类,在该视图中有一个URL .就像是:

views.py

from django.views.generic.list import ListView
from project.models import Contact

class ContactList(ListView):
  model = Contact
Run Code Online (Sandbox Code Playgroud)

urls.py

from django.views.generic.list import ListView   
from project.views import ContactList

urlpatterns = [
    url(r'contacts/$', ContactList.as_view()),
]
Run Code Online (Sandbox Code Playgroud)

然后是一个显示数据的模板.

但是,如何完全跳过视图代码并在urls.py文件中完成所有操作:

from django.views.generic.list import ListView
from project.models import Contact

urlpatterns = [
    url(r'contacts/$', ListView.as_view(model=Contact)),
]
Run Code Online (Sandbox Code Playgroud)

将它全部分组到urls.py文件中的样式是不是很糟糕?我的意思是,它摆脱了多余的代码,views.py所以不是那么好吗?或者这是以牺牲清晰度为代价的减少?

python django django-class-based-views

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

VueJS - 如何查看 localStorage 中的值?

我有一个nav组件,只需要在localStorage. 当该令牌从删除localStoragenav组件需要注意的是变化和隐藏自身。

解决这个问题的最佳方法是什么?

vuejs2

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

设计会计数据库 - 总账与分类账

我一直在研究复式记账系统的实现(特别是使用 Django 作为数据库后端)。我难以理解的是“分类账”和“总账”从会计世界到数据库/软件世界的翻译。

在会计中,我们可能会看到类似的内容:

Sales Sub-Journal:
---------------------------------------------------------------
Date      Description           Amount        Acct      Balance
---------------------------------------------------------------
Jan 1     Cust. A Sale         500.00          AR         500.00
Jan 15    Cust. B Sale         300.00          AR         800.00

General Journal:
---------------------------------------------------------------
Date      Description           Acct        Debit      Credit
---------------------------------------------------------------
Jan 15    Sales for Jan          AR          800.00
                                Sales                   800.00
Run Code Online (Sandbox Code Playgroud)

实际上,子分类帐通过单个日记帐分录复制到总分类帐。

我很难理解的是从数据库角度来看分类账总账的目的。难道只有两个普通的日记条目就不能将上述三个条目记录在数据库中吗?这会消除重复的数据(明细账中记录的 800 美元和普通日记账分录中也记录的 800 美元)?

General Journal Entries:
---------------------------------------------------------------
Date      Description           Acct        Debit      Credit
---------------------------------------------------------------
Jan 1     Cust. A Sale           AR         500.00
                                 Sales                 500.00

Jan 15    Cust. B Sale           AR …
Run Code Online (Sandbox Code Playgroud)

database accounting database-design

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

Django导入模型

好的 - 我已经和Django合作了几个月了,并且遇到了一个奇怪的问题.要设置它,这是我的webapp结构.

主要的Django项目被调用cpm.我在cpm文件夹中有一堆django应用程序.在每个应用程序中,我有我的models.py文件.

现在,当我想从其他应用程序创建/使用模型时,我会做类似的事情:

from cpm.products.models import *
Run Code Online (Sandbox Code Playgroud)

假设有一个名为app的应用程序products.最近,我开始收到一些错误,比如,cannot import XYZ from products.经过多次搜索,我改变了这条线:

from cpm.products.models import *
Run Code Online (Sandbox Code Playgroud)

from products.models import *
Run Code Online (Sandbox Code Playgroud)

我刚刚丢弃了cpm.部件,现在它可以工作了.

有人能告诉我为什么会这样吗?它似乎只发生在我的部分应用程序上(我在CPM项目中有一堆).我希望确保我的语法准确,因为我向前迈进.

谢谢!

django import

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

复制CSS类值并生成新值?

我使用网格系统进行网页布局,就像Grid 960布局一样.我有一堆预定义的类用于所有网格宽度.当我想要一个div宽度时,我只是这样做:

<div class="grid_4">
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

但是,对于我div的一些我添加边框,所以我创建了一个自定义边框类,我添加到div我想要边框的那些.

.right-border {
  border-right: 1px solid #e1e1e1;
}

<div class="grid_4 right-border">
  ....
</div>
Run Code Online (Sandbox Code Playgroud)

问题是当我添加边框时,网格系统会失败,因为页面上没有足够的空间来容纳所有divs(因为其中一个有边框).我可以手动调整每个div我添加边框,但我想要一个更清洁的解决方案,因为每个网格的每个宽度是不同的(取决于我使用的网格类).

有没有办法获得当前div的宽度,简单地减去1给那些div有类的right-border?我认为这可能只适用于jQuery,但也许我不知道的一些CSS魔法会实现这一点.

有任何想法吗?

html css jquery

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