小编Luc*_*s03的帖子

调整屏幕大小时,bootstrap折叠菜单消失

我为我的应用程序使用了bootstrap菜单.它看起来像这样: 菜单好的 但当我将窗口大小更改为更小时,它会消失 - 看起来像这样: 菜单消失了 它大约约965px时消失(所以可能是979px).我试过这个解决方案,没有用.可能是我正在混合bootstrap 2和3?这是我的菜单代码:

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="/">Digrin</a>
            <div class="nav-collapse collapse">
                <ul class="nav">
                {{ request.path  }}
                    <li{% block nav_stocks %}{% endblock %}><a href="/stocks/">Stocks</a></li>
                    <li{% block nav_mystocks %}{% endblock %}>
                    <a href="/stocks/mystocks">My Portfolio</a></li>
                    <li{% block nav_watchstocks %}{% endblock %}>
                        <a href="/stocks/watchstocks">Watcher</a></li>
                    {% if not user.is_authenticated %}
                    <li class="active"><a href="/accounts/login/?next=/stocks/">Login</a></li>
                    <li><a href="/accounts/register/">Register</a></li>
                    {% else %}
                    <ul class="nav">
                        <li class="dropdown">
                            <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                                {{ user.username }}
                                <i class="caret"></i>
                            </a>
                            <ul class="dropdown-menu"> …
Run Code Online (Sandbox Code Playgroud)

css collapse twitter-bootstrap

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

未创建uwsgi套接字文件

我在使用uwsgi和nginx设置服务器时遇到问题.这是我的uwsgi ini文件(和vassals中的符号链接):

# ebook_uwsgi.ini file
[uwsgi]
#emperor = /etc/uwsgi/vassals
#plugins        = python #if uwsgi installed with pip, dont have to use this line
# Django-related settings
# the base directory (full path)
chdir           = /var/www/django/ebook/ebook/wsgi/ebook/
# Django's wsgi file
module          = controller.wsgi:application
# the virtualenv (full path)
home            = /var/www/django/ebook

# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 10

# the socket (use the full path to be safe
socket         = /var/uwsgi/ebook.sock …
Run Code Online (Sandbox Code Playgroud)

django nginx uwsgi

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

来自牧场主容器中的python客户端的smtp超时

我有一个奇怪的问题,没有想法可能是错的,所以也许在这里写它可以帮助我提出想法.或者有人可以帮助我:)

我有一个在牧场主运行的Django网站,过去几周我发现电子邮件无效.超时错误被提出.我使用mailgun.org作为SMTP服务器.

这是从牧场主容器控制台输出的:

/app/app # ipython
Python 2.7.14 (default, Dec 19 2017, 22:36:09)
Type "copyright", "credits" or "license" for more information.

IPython 5.5.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from smtplib import SMTP

In [2]: smtp = SMTP(host='smtp.mailgun.org', port=587)
Run Code Online (Sandbox Code Playgroud)

它只是挂起.添加超时当然会引发超时.

我猜想mailgun有问题.但是在本地运行相同图像上的相同代码(commit-hash匹配rancher容器上的代码).

docker run -ti registry.gitlab.com/namespace/app:commit-hash /bin/sh
/app/app # ipython …
Run Code Online (Sandbox Code Playgroud)

smtplib mailgun docker rancher

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

django admin编辑模型选择/预取相关?

我有一个 Django 网站,带有 model Event,可以说:

class Event(models.Model):
    home = models.ForeignKey('Team', related_name='%(class)s_home')
    away = models.ForeignKey('Team', related_name='%(class)s_away')
    ...

class Team(models.Model):
    name = models.CharField("team's name", max_length=100)
Run Code Online (Sandbox Code Playgroud)

为此使用外键是一个坏主意,但无论如何,如何使其在 Django 管理页面中可用?
在管理编辑事件页面中,为此获取了大量外键:
http://127.0.0.1:8000/admin/event/event/116255/

它产生大量的选择,例如:
SELECT "event_team"."id", "event_team"."name" FROM "event_team" WHERE "event_team"."id" = 346;

页面就死了。我正在玩这些:

class EventAdmin(admin.ModelAdmin):
    list_display = ('id', 'home', 'away', 'date_game', 'sport', 'result')
    search_fields = ['home__name', 'away__name']
    list_select_related = (
        'home', 'away', 'league', 'sport', ...
    )

    def get_queryset(self, request):
        return super(EventAdmin, self).get_queryset(request).select_related(*self.list_select_related)
admin.site.register(Event, EventAdmin)
Run Code Online (Sandbox Code Playgroud)

但没有运气。

django django-admin

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

自动完成缺少CSS样式

不知道为什么,但我的typeahead.js远程自动完成停止工作.我没有更改任何关于typeahead.js的代码,但由于它被破坏了,我一定是错的.你能看看我的网站吗?我会创建jsfiddle,但多亏了Cross-Origin Request Blocked我无法包含我的依赖.
问题:
如果我输入"JN"或"AAP",这就是我得到的(建议是纯文本的):
没有CSS的typeahead.js自动完成 此外,我想知道为什么自动完成在第三个字符输入后开始,而不是第一个(我使用minLength: 1).
我会将大部分代码粘贴到此处,因为我将来可能会更改我的网站.
进口:

    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
    <link rel="stylesheet" type="text/css" href="/static/css/typeahead.css">

    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
    <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="//twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js"></script>
Run Code Online (Sandbox Code Playgroud)

Javascrip:

<script type="text/javascript">
        $(function(){
            var stocks = new Bloodhound({
                datumTokenizer: function (datum) {
                    return Bloodhound.tokenizers.whitespace(datum.tokens);
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                limit: 5,
                remote: {
                    url: "/search/autocomplete/",
                    replace: function(url, query) {
                        return url + "?q=" + query;
                    },
                    filter: function(stocks) {
                        return $.map(stocks, function(data) {
                            return …
Run Code Online (Sandbox Code Playgroud)

autocomplete typeahead.js

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

如何为裸域设置https?

我一直在使用openshift很长一段时间.由于letsencrypt处于测试阶段,我认为我试了一下.
我当前的设置:
www.digrin.com是我的openshift网址的别名 - digrin-digrincom.rhcloud.com
digrin.com标记指向wwwizer重定向服务174.129.25.170.
我已将ssl证书上传到openshift.它在域上运行良好www.digrin.com.但是,由于裸域digrin.com指向wwwizer.com,因此不使用https.我相信这是一个问题.我想要两个域(裸体和www变体)使用https.可能吗?我知道wwwizer有一些可能的高级计划,但如果可能的话我想要一个免费版本.
如果你不知道,我不能为裸域设置cname,所以我不得不使用A标签到wwwizer,因为openshift可能会改变IP地址.
有用的链接:
如何使用裸露的GoDaddy域与OpenShift主机?

https domain-name openshift

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

在macOS上将TLS 1.0升级到TLS 1.2

我安装某些python软件包时遇到了麻烦,因为我有TLS 1.0版本。如何升级到TLS 1.2?

python -c "import urllib2; import json; print(json.loads(urllib2.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"
TLS 1.0
Run Code Online (Sandbox Code Playgroud)

我的macOS版本:10.13.4(17E202)
python版本:Python 2.7.13
openssl版本:LibreSSL 2.2.7

我试图升级openssl,但它没有升级LibreSSL。我记得一年前我遇到了一些与openssl的问题,我可能已经手动将其链接了,或者::(

python macos openssl tls1.2

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

无法在emperror模式下使用ini文件运行uwsgi - 权限被拒绝

我无法使用我的ini文件在emperror模式下运行uwsgi.我安装了uwsgi sudo pip install uwsgi.
当我尝试启动uwsgi时,我收到错误:

sudo /etc/init.d/uwsgi start
/etc/init.d/uwsgi: line 72: /usr/share/uwsgi/init/snippets: No such file or directory
/etc/init.d/uwsgi: line 73: /usr/share/uwsgi/init/do_command: No such file or directory
[....] Starting app server(s): uwsgi/etc/init.d/uwsgi: line 80: do_command: command not found
 failed!
Run Code Online (Sandbox Code Playgroud)

我正在使用Debian.首先,我试图关注django和nginx文档,但是当它不起作用时,我搜索了很多东西.这是我的ebook_uwsgi.ini文件:

# ebook_uwsgi.ini file
[uwsgi]
emperor = /etc/uwsgi/vassals
#plugins        = python #if uwsgi installed with pip, dont have to use this line
# Django-related settings
# the base directory (full path)
chdir           = /var/www/django/ebook/ebook/wsgi/ebook/
# Django's wsgi file …
Run Code Online (Sandbox Code Playgroud)

django nginx uwsgi

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

每日cron运行终止,因为它超过了最大运行时间

我不知道为什么我的cron运行20分钟而且终止了.在openshift中,如果你运行cron,它会在5分钟后被杀死.如果你用nohup运行,它会在20分钟后被杀死.
这是我在cron_daily上的错误日志.文件update_dave_list运行20分钟:

Thu Nov 19 03:08:08 EST 2015: START daily cron run
__________________________________________________________________________
/var/lib/openshift/55a000094/app-root/runtime/repo//.openshift/cron/daily/update_dave_list:
WARNING:py.warnings:/var/lib/openshift/55a0000094/python/virtenv/lib/python2.7/site-packages/django_crontab-0.6.0-py2.7.egg/django_crontab/crontab.py:13: RemovedInDjango19Warning: django.uti$
  from django.utils.importlib import import_module
/usr/libexec/openshift/cartridges/cron/bin/cron_runjobs.sh: line 114: 181616 Killed                  $executor "$SCRIPTS_DIR"
Warning: daily cron run terminated as it exceeded max run time
__________________________________________________________________________
Thu Nov 19 03:28:09 EST 2015: END daily cron run - status=137
__________________________________________________________________________
Run Code Online (Sandbox Code Playgroud)

问题是update_dave_list运行只需约20秒: update_dave_list内容:

#!/bin/bash
date
nohup /var/lib/openshift/55000094/python/virtenv/bin/python /var/lib/openshift/55000094/app-root/runtime/repo/wsgi/digrin/manage.py crontab run 18e10bf4fb745d8a480230a3 # update dave lists
date
Run Code Online (Sandbox Code Playgroud)

输出:

Št nov 19 03:43:47 EST 2015 …
Run Code Online (Sandbox Code Playgroud)

python django cron openshift

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

Django表单"输入有效日期".

我在写一个简单的表格时遇到了问题.这是我表格的模型.

class UserStock(models.Model):
    amount = models.FloatField(default=0)
    date = models.DateTimeField('buy date')
    stockPrice = models.FloatField(default=0)
    user = models.ForeignKey(User)
    stock = models.ForeignKey(Stock)
Run Code Online (Sandbox Code Playgroud)

这是我的forms.py文件

from django import forms
from datetime import date

class AddStockForm(forms.Form):
    stock = forms.CharField(max_length=10)
    amount = forms.FloatField(initial=0)
    #, initial=date.today, input_formats=settings.DATE_INPUT_FORMATS
    date = forms.DateField('buy date', initial=date.today)
    stockPrice = forms.FloatField(initial=0)
Run Code Online (Sandbox Code Playgroud)

这是我提交表单数据的第一个版本.

@login_required(login_url='/login/')
def new_stock(request):
    if request.method == 'POST':
        form = AddStockForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data

            #dateForm = datetime.datetime.strptime(cd['date'],"%Y-%m-%d")
            userStock = UserStock(amount = cd['amount'], date=cd['date'], stockPrice = cd['StockPrice'])
            userStock.user = request.user
            stockForm = …
Run Code Online (Sandbox Code Playgroud)

forms django date date-format

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

类型错误:创建对象时对象不可迭代

可能为时已晚,因为我完全不明白这个错误。我在models.py中创建了两个新类:

class SuggestionEmailSent(models.Model):
    user = models.OneToOneField(User, related_name='suggestion_sent')
    frequency = models.CharField(max_length=10, choices=EMAIL_FREQUENCY_CHOICES, default=EMAIL_FREQUENCY_CHOICES[0][0])
    date = models.DateField(default=timezone.now)
    class Meta:
        unique_together = ("user", "date")    

class SuggestionEmailContent(models.Model):
    percentage = models.IntegerField()
    buy_stock = models.ForeignKey('stocks.Stock', related_name='suggestion_email_buy_stock')
    sell_stock = models.ForeignKey('stocks.Stock', related_name='suggestion_email_sell_stock')
    portfolio = models.OneToOneField('portfolio.Portfolio', unique=True)
    suggestion_sent = models.ForeignKey(SuggestionEmailSent, related_name='contents')
Run Code Online (Sandbox Code Playgroud)

然后我有一个代码:

try:
    content = user.suggestion_sent.contents.get(portfolio=portfolio)
    print content.sell_stock
except ObjectDoesNotExist: #mail not sent for this portfolio, send and save
    content, created = SuggestionEmailContent.objects.create(percentage=percentage,
         buy_stock=suggestion,
         sell_stock=rank,
         portfolio=portfolio,
         suggestion_sent=user.suggestion_sent)
Run Code Online (Sandbox Code Playgroud)

这是错误回溯:Traceback(最近一次调用最后一次):

  File "./test.py", line 49, in <module>
    send_suggestion_email(User.objects.get(id=1))
  File "/var/www/django/digrin/wsgi/digrin/suggestion/utils.py", line 192, …
Run Code Online (Sandbox Code Playgroud)

django

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

Django TypeError:__ init __()得到关键字参数'required'的多个值

对我来说,找出问题可能为时已晚.我有一个简单的形式forms.py:

class ImportPortfolioForm(forms.Form):
    file = forms.FileField(required=True)
    price_per_share = forms.BooleanField('Price per Share', required=False, initial=True,
                                   help_text="If not checked, total cost is expected in Price column.")
Run Code Online (Sandbox Code Playgroud)

这是html:

<form method="post" action="" class="wide" class="form-horizontal" enctype="multipart/form-data">
    <div class="col-md-6">
    {% csrf_token %}
    {% bootstrap_form form %}
    <button type="submit" class="btn btn-primary">Import</button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这是views.py:

if request.method == 'POST':
    form = ImportPortfolioForm(request.POST, request.FILES)
    if form.is_valid():
        data = form.cleaned_data
        # work with file ...
else:
    form = ImportPortfolioForm()
Run Code Online (Sandbox Code Playgroud)

如果我尝试加载表单网址,我收到错误:

TypeError: __init__() got multiple values for keyword …
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

django编辑queryset对象而不影响数据库

我还没有找到足够好的答案,所以我在这里问。我有股息和股票模型。

class Dividend(models.Model):
    attributes...
    stock = models.ForeignKey(Stock)
Run Code Online (Sandbox Code Playgroud)

我需要创建Queryset的副本,因为我想将带有一些额外值的红利传递给模板,并且我不希望将这些额外值插入数据库。

dividend_set = stock.dividend_set.all().order_by('date')
dividend_set.create(...)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?上面的代码将在我的stock.dividend_set中创建数据。我是否必须使用Deepcopy或将queryset转换为list?还是有更优雅的方式?

python django

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