小编use*_*774的帖子

如何在Django的DateField中插入NULL?

我的django模型中有一个可选的日期字段:

award_grant_date = models.DateField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

当用户将日期字段留空时,将NULL插入DateField,否则插入日期.

但是,如果用户确实在DateField中输入了日期,并且用户在表单中选择了其他一些特定数据,那么我想在DateField中插入NULL.

所以,在我的表单中,我有以下代码:

    class AwardGrantDetailsForm(forms.Form):
    ...
    award_grant_date = forms.DateField(
    widget=forms.DateInput(attrs={'id':'id_award_grant_date'}),
    input_formats=settings.DATE_INPUT_FORMATS,
    label=_('Date'),
    required=False)
    ...
    elif cd_agdf['award_grant_type'] == 8888 or cd_agdf['award_grant_type'] == 9999:

        self.cleaned_data['award_grant_type_description'] = ''
        self.cleaned_data['award_grant_date'] = 'NULL' //this is the issue here! 
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

[u"'NULL' value has an invalid date format. It must be in YYYY-MM-DD format."]
Run Code Online (Sandbox Code Playgroud)

我似乎无法正确地将语法输入到award_grant_date日期字段中.

我正在使用bootstrap datepicker和django 1.4.

如何编写代码self.cleaned_data ['award_grant_date'] =''插入所需的NULL?我已将models字段设置为null = True,blank = True!

django datepicker datefield

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

parsley.js选择列表值为零 - 不工作

我在我的测试表单上有一个选择列表,我正在尝试使用parsley.js验证.

欧芹验证确实有效,但只有当选择列表的默认值为空值时,除了我需要值为0(零).

因此,当在选择列表中选择/显示零值时,选择列表应为红色,表示存在错误.

当我使用默认值零时,如何让选择列表正确验证?

以下是我的选择列表的示例,其中包含零值:

<select name="availability_type" id="id_availability_type" data-parsley-id="1601" data-parsley-required="true" data-parsley-required-message="You must enter at least one Detail." class="input-xlarge2 standard_input_style parsley-success">
    <option value="0"> Do not display Availability</option>
    <option value="1">Immediately</option>
    <option value="2">1 week</option>
    <option value="3">2 weeks</option>
    <option value="4">3 weeks</option>
    <option value="5">4 weeks</option>
    <option value="6">&gt; 4 weeks</option>
</select>
Run Code Online (Sandbox Code Playgroud)

以下是使用空格作为值的代码行:

<option value=" "> Do not display Availability</option>
Run Code Online (Sandbox Code Playgroud)

javascript forms validation parsley.js

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

django-admin:如果条件为真,则将列字体更改为红色

我有一个 vlog,我可以将 vlog 条目预加载到数据库中,这样当 的日期vlog-published-date小于 的模型字段时now,vlog 条目将自动显示/发布。

Vlog Date Published当日期vlog_published_date大于now(尚未发布)时,如何使字体的 django-admin 列变为红色?

这是我的意思的直观示例,其中now日期为2018 年 1 月 16 日

在此处输入图片说明

这是我的 vlog models.py 代码:

class VlogDetails(models.Model):
    ....
    vlog_date_published = models.DateField(null=False, blank=False, default=datetime.now, help_text='The date the vlog video will be made public.')
    ....

    class Meta:
        ....
Run Code Online (Sandbox Code Playgroud)

有这个类似的线程,但该线程已有 7 年以上的历史,我希望有关于 django 1.10 和 python 3.5 的最新信息。

python django django-admin

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

如何为bootstrap模式添加换行符

我一直在尝试并且没有为DRY bootstrap模式添加换行符.

这是我的超链接模板代码,它将消息发送到模态显示代码:

<a href="{% url achievement_details_delete achievement_detail.id %}" delete-confirm="Are you sure you want to DELETE the selected record? <br /><br />This action will permanently remove the record.">Delete</a>
Run Code Online (Sandbox Code Playgroud)

这是我的jquery bootstrap模态代码:

$(document).ready(function() {

    //START: Delete code.
    $('a[delete-confirm]').click(function(ev) {

        var href = $(this).attr('href');

        if (!$('#deleteConfirmModal').length) {

            $('body').append('<div id="deleteConfirmModal" class="modal modal-confirm-max-width" role="dialog" aria-labelledby="deleteConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button><h4 class="modal-title" id="deleteConfirmLabel">{% trans "Delete" %} - {{ resume_details_trans }}</h4></div><div class="modal-body"></div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">{% trans "Cancel" %}</button>&nbsp;&nbsp;<a class="btn-u btn-u-red" id="deleteConfirmOK" onclick="showProgressAnimation();">{% trans "Delete" %}</a></div></div>'); …
Run Code Online (Sandbox Code Playgroud)

html modal-dialog line-breaks bootstrap-modal

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

django转义标记不能转义单引号

我正在使用django 1.7.

当用户输入单引号和/或双引号作为输入的一部分时,显示其输入数据的表单将被破坏.

所以我使用了django的转义标签,它应该很容易处理.

但是,转义标记只是转义双引号.单引号未被转义并且正在破坏测试表单.

这是我的代码示例:

{{ field|escape }}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何克服这个问题.

编辑

这是我的表单字段模板代码(form_fields.html):

<div id="row_{{ field.auto_id }}" class="form-group {% if field.errors %}error{% endif %} {% if hide_row %}hidden{% endif %}">
    <label for="{{ field.auto_id }}" class="control-label {{ field.css_classes }}">
        {{ field.label }}{% if field.label %}:{% endif %}
    </label>
    <div class="controls {{ control_classes }}">
        {{ field|escape }}
        {% if field.errors %}
            <span class="help-inline">
                <strong>
                    {% for e in field.errors %}
                        {{ e }}<br/>
                    {% endfor %}
                </strong>
            </span>
        {% …
Run Code Online (Sandbox Code Playgroud)

django escaping django-templates

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

Django Python - 当月和过去 6 个月的查询计数

我将 Django1.10.5与 python 一起使用3.6

我有以下模型类:

class PublishedRecordedActivity(models.Model):
    published_details = models.ForeignKey(PublishedDetails, null=True, blank=True, on_delete=models.CASCADE)
    timestamp_added = models.DateTimeField(auto_now_add=True)
    activity_type = models.IntegerField(null=False, blank=False, default=1)
Run Code Online (Sandbox Code Playgroud)

我想计算当月以及过去 6 个月的活动类型(1、2、3 或 4)的记录数。

例如,整个当月(2019 年 4 月)的计数。

一个月前的计数(2019 年 3 月整月)。

两个月前的计数(2019 年 2 月整月)等。

我可以编写计数查询,但我不确定如何为每个整月添加过滤器。

这是我的查询:

test_count = PublishedRecordedActivity.objects.filter(activity_type=1).count
Run Code Online (Sandbox Code Playgroud)

python django count

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

python manage.py syncdb错误

我试图让我的第一个Django项目在Windows上运行,但是我收到一条错误消息:

File "c:\users\[username]\appdata\local\temp\easy_install-pazcre\MySQL_python-1.2.3-py2.7-    win32.egg.tmp\MySQLdb\connections.py", line 187, in __init__     mysql_exceptions.OperationalError: (1045, "Access denied for user 'django_user'@'localhost'     (using password: YES)")
Run Code Online (Sandbox Code Playgroud)

我从命令行创建了我的数据库:

-- create the database
CREATE DATABASE GlobalXdb CHARACTER SET utf8;

-- create user
CREATE USER 'django_user'@'localhost' IDENTIFIED BY 'thepassword';

-- give user permissions to db 
GRANT ALL ON django.* TO 'django_user'@'localhost'
Run Code Online (Sandbox Code Playgroud)

我的settings.py文件包含:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'GlobalXdb',                      # Or path to database file if using sqlite3.
    'USER': …
Run Code Online (Sandbox Code Playgroud)

python mysql django syncdb

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

bootbox 确认 - 选择 OK 时包含 href

我正在尝试将bootbox.js添加到测试页面。

目前,当我在触发引导框的超链接中包含 href 标签时,无论我单击什么确认按钮(取消或确定),都会触发 href。

如何将 href 标签包含到 bootbox js 代码中,以便仅在用户选择 OK 确认选项时触发?我尝试了几次尝试,但都无济于事。

这是带有 href 标签的超链接:

<a id="id_customized_details_duplicate" href="{% url customized_details_duplicate customized_detail.id %}">Duplicate</a>
Run Code Online (Sandbox Code Playgroud)

这是我的书箱js代码:

    $(document).ready(function(){
        $('#id_customized_details_duplicate').on('click', function(){
            bootbox.confirm("Are you sure?", function(result) {
                if (result) {
                    //include the href duplication link here?;
                    //showProgressAnimation();
                    alert('OK SELECTED');
                } else {
                    alert('CANCEL SELECTED');
                }
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)

html javascript django jquery bootbox

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

为bootstrap模式编写回调函数

我有一个bootstrap模态确认,我想显示当前选中的html选择列表的值以及传入变量的值.

我问了这个问题并在这里得到了一个很好的答案,关于在同一个html选择列表中显示两个值,用于JavaScript确认弹出窗口.但是,我现在需要用bootstrap模式替换JavaScript确认.

这是html选择列表:

<select name="language_code" id="id_language_code">
    <option value="ar">Arabic - ???????</option>
    <option value="bg">Bulgarian - ?????????</option>
    <option value="zh-CN">Chinese (Simplified) - ?? (??)?</option>
    <option value="en" selected="selected">English (US)</option>
    <option value="fr-CA">French (Canada) - français (Canada)?</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码在引导模式上显示两个语言值:

$( "#submit_buttonA" ).attr('update-confirm', 'Are you sure you want to change the language of the website from ' + $('#id_language_code option[value=' + '{{ user.get_profile.language_preference }}' +  ']').text() + ' to ' + $('#id_language_code option:selected').text() + '?');
Run Code Online (Sandbox Code Playgroud)

上面的代码行总是在bootstrap模式上返回第二语言值$('#id_language_code选项:selected').text()(标记为selected ="selected")为英语(US),即使用户有选定保加利亚语 - Български.

我已经阅读了这篇文章并认为这需要一个JavaScript回调函数,因为引导模式是异步的,而JavaScript …

javascript jquery html-select callback twitter-bootstrap

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

django makemessages问题

我在Windows 7上运行python 2.7和django 1.8.11。

添加必要的翻译字符串文字后,我正在尝试翻译我的网站。我已按照docs的指示进行操作。这包括以正确的语言代码安装适用于Windows 7的GNU gettext实用程序和必要的语言环境文件夹/目录。

在虚拟环境和项目根目录的命令提示符下,运行:

django-admin makemessages -l de
Run Code Online (Sandbox Code Playgroud)

我在命令提示符处收到以下错误:

CommandError: Unable to find a locale path to store translations for file fabfile.py
Run Code Online (Sandbox Code Playgroud)

在项目的根目录中,有以下文件,它们是的fabfile.py位置:

在此处输入图片说明

我尝试(暂时)fabfile.py从目录中删除。尝试此操作时,运行时收到的错误消息django-admin makemessages -l de是:

CommandError: Unable to find a locale path to store translations for file manage.py
Run Code Online (Sandbox Code Playgroud)

看来该makemessages命令包括根目录中的所有.py.txt文件。我不确定这是否正确。

运行makemessages命令时,如何不在项目的根目录中包含.py和.txt文件?

python django translation

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

javascript indexOf - 列表/数组中的完全匹配

我决定使用javascript indexOf来确定列表/数组中是否存在值.这对我有用,直到我意识到我需要在列表中找到完全匹配.

这是我的示例代码:

if (['eu', 'fr-CA', 'lt', 'sv', 'zh-CN', 'zh-TW'].indexOf('fr') > -1) {
Run Code Online (Sandbox Code Playgroud)

上面的代码将'fr'匹配到fr-CA,这对我来说是一个问题,因为我必须与fr完全匹配并且与fr-CA不匹配.

我认为这将是直截了当的,但我搜索了SO和谷歌,并找不到完全匹配的答案.

javascript arrays jquery list

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