小编Gar*_*nzo的帖子

Django按日期排序,但最后有"无"?

我有一个工单的模型,有一个需要工作单的字段.要获得工作单列表,以及早期需要的工单,我这样做:

wo = Work_Order.objects.order_by('dateWORequired')

这很好用,但只有在该字段中实际存在值时才有效.如果没有必需的日期,则值为None.然后,工单的列表包含所有的None顶部,然后是正确顺序的剩余工单.

我怎样才能得到None底部的?

django django-models django-queryset

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

Django - 根据当前页面突出显示导航?

我正在构建一个包含几个主要部分的webapp.每个部分都有几个子部分.我有一个main_nav.html文件,其中包含主要部分的导航.HTML使用模板中的{% include ... %}命令将其添加到基础文件中base.html.此外,我有几个子部分导航文件,每个文件都使用相同的{% include ... %}命令添加到任何给定的页面.

所有导航栏都非常简单,只带有<a href...>标签的文本.

我想强调当前主要部分和当前子部分的链接.由于这个webapp相当大,我希望以某种方式这样做而不添加特定于页面的信息.另外,我希望它随着webapp的扩展而"工作",以包含更多的部分和子部分.例如,可以通过查看正在使用的实际URL来完成吗?我希望将这可以放在导航文件本身内,而不必在每个django视图中加载一些变量或其他内容.

因此,例如,导航看起来像这样:

(main ->)            [Systems][Invoices][Work Orders][Admin]
(system sub-nav ->)  [Owner][Billing][Contacts]
Run Code Online (Sandbox Code Playgroud)

因此,如果我在该Billing部分Systems,我希望链接Systems以粗体显示,链接Billing为粗体(或其他一些简单的突出显示)

要么:

(main ->)                 [Systems][Invoices][Work Orders][Admin]
(Work-Orders sub-nav ->)  [Create New][Outstanding]
Run Code Online (Sandbox Code Playgroud)

如果我在该Outstanding部分Work Orders,则需要突出显示链接Work Orders和链接Outstanding.

有任何想法吗?

navigation django

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

Django - UpdateView与内联formset试图保存重复记录?

我有一个Expense模型和一个ExpenseLineItem模型.就像典型的费用/发票一样,一个费用可以有多个行项目来弥补发票的总成本.我正在尝试使用基于类的视图来创建和更新费用.我已成功编码CreateView以使用多个费用订单项进行新费用.

我的问题是当我尝试更新已有多个费用行项目的现有费用时.这是我下面的代码,我无法弄清楚问题是什么.该混入(TitleMixin,CancelSuccessMixin,SelectedApartment)是我的,做工精细.

我收到一个错误,我相信,这意味着它正在尝试保存副本,ExpenseLineItems但由于那些已经存在而失败.几乎就像我没有提出instance论点.

我究竟做错了什么?

forms.py

class ExpenseForm(ModelForm):
  class Meta:
    model = Expense
    fields = ['apart', 'inv_num', 'vendor', 'due_date']

ExpenseLineItemFormset = inlineformset_factory(Expense, ExpenseLineItem, fields=('description', 'account', 'amt'), can_delete=False)
Run Code Online (Sandbox Code Playgroud)

这是我的ExpenseUpdate观点:

class ExpenseUpdate(TitleMixin, CancelSuccessMixin, SelectedApartment, UpdateView):
  model = Expense
  form_class = ExpenseForm
  template_name = 'accounting/expense.html'

  def get(self, request, *args, **kwargs):
    self.object = self.get_object()
    form_class = self.get_form_class()
    form = self.get_form(form_class)
    expense_line_item_form = ExpenseLineItemFormset(instance = self.object) …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-class-based-views

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

Django Forms - 在视图中设置字段值

我有一个代表工单的模型.其中一个字段是DateField,表示工作订单的创建日期(恰当地命名为:dateWOCreated).当用户创建新的工作订单时,我希望此dateWOCreated字段自动填充今天的日期,然后显示在模板中.我有一些其他字段,我想在没有用户干预的情况下设置,但应该在模板中向用户显示这些值.

我不想简单地从modelForm类中排除这些字段,因为用户可能需要能够在路上编辑这些值.

有帮助吗?

谢谢

django django-models django-forms django-views

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

fullCalendar - 拖动一个非allDay事件跨越多天 - 所有这些都来自'周'视图?

我有一个完整的日历工作得相当好.但是,我希望能够拖动一个不是 的事件allDay并将其拖动到多天.

例如:我有一个活动将于2月5日上午10点至中午12点开放.我希望能够将事件拖到右边,以便它可以跨越多天.最终的结果是从2月5日上午10点到2月9日中午12点(或基本上比原来的任何一天).

这可能吗?

谢谢

fullcalendar

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

jQuery Sortable - 将新元素拖入列表时保存顺序

我有两个可以排序工作单的可排序列表.第二个列表是一段Route时间,第一个列表只是尚未添加到列表中的所有工单的Route列表.这个想法是用户将工作订单拖入Route特定订单,重新安排工作订单以创建员工将遵循的路线.

我的问题是管理拖到Route列表上的新工单的位置.在添加新项目时,是否有一种简单的方法来处理更新所有列表项的位置(在数据库方面通过ajax调用)?

更清楚的信息......

Route列表为空(尚未添加工作订单)时,它很简单 - 用户将新工作订单拖到空列表中,ajax调用用于保存Route对象和Route Item刚添加的详细信息(在服务器上的基础记录上).

当用户将第二个工作单拖到Route列表中时,我想确定新的工作订单是否将成为列表中的第一个,或者第二个,然后相应地更新列表中所有项目的所有信息(服务器端).当我想要一个Route已经有30个工单的新工单时,事情变得非常复杂.

有没有一种简单的方法可以做到这一点,还是只需要编写大量的jQuery和后端函数来管理它?我一直在网上寻找解决方案,但找不到任何确定的东西.

jquery jquery-ui-sortable

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

Django和Sphinx - 如何查看HTML Sphinx生成的内容?

好的 - 我有一个我想要记录的Django项目 - 所以我安装了Sphinx.安装顺利,我可以将所有HTML输出到一个_build文件夹.但...

问题是:我如何在浏览器中实际查看我的文档?

是否假设文档不会在Django项目中查看,而是在其自己的网站中查看?如果在Djano项目中查看,我是否需要设置url模式来处理文档?

我有点困惑如何在我的浏览器中实际查看Django项目中的这些信息.

django documentation python-sphinx

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

从Javascript到Django服务器进行查询

我正在尝试为网页添加一些基本的动态功能.如何在客户端使用JavaScript通过服务器端的django访问数据库信息?

我觉得在网页上调用django视图(或其他东西)的JavaScript函数应该很容易,而django视图会向JavaScript函数返回一个值.我不希望JavaScript本身连接到数据库,因为这似乎环绕django(对我来说,这似乎是不正确的).

此外,我希望能够在一个页面上通过JavaScript执行多个数据库请求.一个例子是用于创建发票的网页.发票的每个附加行都需要对数据库进行新查询.然后,根据添加到发票中的产品,需要额外的查询来确定产品的价格.我得到的是动态完成的一个页面内对数据库的多个查询.

基本上,我希望django进行数据库搜索并将信息传递给JavaScript.

javascript django ajax

5
推荐指数
2
解决办法
6184
查看次数

Django - 对管理站点的“添加外键”按钮进行逆向工程

TL;DR(简短概要):

我在自己的项目中重新创建了管理“添加”按钮。但是,当我在父表单上点击“保存”时,它无法识别新的选择元素。

整个故事:

我在我自己的项目中使用了该功能......几乎。我需要帮助弄清楚最后一步。现在,我有一个“+”按钮,单击它,会出现一个弹出窗口,我添加一个新对象,点击保存,弹出窗口关闭,该新项目现在位于我的选择框中并被选中 - 就像管理员一样页。但是,当我在此父表单上单击“保存”时,出现错误,表明我选择了不在列表中的项目。当然,由于页面已重新加载,我的新项目已成为列表的一部分,我只需再次单击“保存”即可。当然,我需要它来节省第一次!

基本设置是调用我的父模型System并调用外键模型Zone。该Zone模型列出了系统有多少个区域(1 个区域、2 个区域、10 个区域等...)

好的,一些代码:

父表单模板中的“添加”链接:

<a href="/systems/zones/new/?popup=1" id="add_id_numZones" onclick="return showAddPopup(this);">Add</a>

在我New_Zone看来,保存新区域后,我检查变量是否popup GET为1,如果是,则返回一个javascript函数。这是视图:

        ...
        if form.is_valid():
            f = form.save(commit=False)
            pk_value = f.numOfZones
            form.save()
            obj = Zone_Info.objects.get(numOfZones=pk_value)
            if isPopup == "1":
                return HttpResponse('<script>opener.closeAddPopup(window, "%s", "%s");</script>' % (escape(pk_value), escape(obj)))
        ...
Run Code Online (Sandbox Code Playgroud)

这是我的 Javascript(大部分是从管理 javascript 复制的:

function html_unescape(text) {
// Unescape a string that was escaped using django.utils.html.escape.
    text = text.replace(/&lt;/g, '<');
    text = text.replace(/&gt;/g, '>'); …
Run Code Online (Sandbox Code Playgroud)

javascript django django-models

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

在indexedDB中打开多个数据库连接是不是很糟糕?

我一直在使用IndexedDB,我可以成功创建一个新数据库,创建一个商店,并在"需要升级时"添加一个值.我不明白的是,数据库是否保持"开放"状态,还是必须在需要访问数据库中读/写信息的每个函数内重新打开它?

例如,这是我的代码(可以工作)来创建一个新数据库,并插入一条记录:

$(document).ready(function() {

var db;

function initDB() {
    console.log("opening db...");

    var req = indexedDB.open(dbName, version);
    req.onsuccess = function(event) {
      db = this.result;
      console.log("opening db is done");
    }

    req.onerror = function(event) {
      console.log("error opening db: ", event.target.errorCode);
    }

    req.onupgradeneeded = function(event) {
      db = event.target.result;
      var store = db.createObjectStore("creds", { autoincrement: true });
      store.add({ username:'none', password:'none'}, 1);
    }
  }
Run Code Online (Sandbox Code Playgroud)

造成我混淆的是,当我需要访问该数据库中的记录,或添加更多记录或删除记录时,我想我可以创建一个新函数并插入一些值.这就是我所拥有的(失败):

  function saveCreds() {
    usr = $("#username").val();
    psw = $("#password").val();

    $.getJSON(baseURL + "cred-check/?callback=?", { username:usr, password:psw }, function(data) {
      if (data.creds_good …
Run Code Online (Sandbox Code Playgroud)

jquery indexeddb

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