小编Mil*_*ano的帖子

如何检查(在模板中)用户是否属于某个组

如何检入模板用户是否属于某个组?

有可能在view生成template但是如果我想检查这base.html是一个扩展模板(它没有它自己的视图功能)怎么办?

我的所有模板都扩展了,base.html所以在每个模板中检查它都不好view.

base.html包含上部杆,它应包含在其中的按钮根据group登录用户是(客户,销售商).

在我的base.html是:

{% if user.is_authenticated %}
Run Code Online (Sandbox Code Playgroud)

这是不够的,因为我必须采取不同的方式对用户Customers和用户采取不同的行动Sellers.

所以我想要的是:

{% if user.in_group('Customers') %}
 <p>Customer</p>
{% endif %}
{% if user.in_group('Sellers') %}
<p>Seller</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

python django django-admin django-permissions

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

在django模板中遇到user.is_authenticated问题

对不起,如果您在我之前提出此问题时尝试过帮助我.不得不删除该问题,因为出于某种原因我不被允许编辑其他信息.

我正在我的django网站上实现用户身份验证.一切正常.我的观点,模型,网址等都已设置完毕.用户可以注册,登录,注销.我遇到的问题是这段代码:

{% if request.user.is_authenticated %}
      <li><a href="/logout">Log Out</a></li>
      {% else %}
      <li><a href="/login">Log In</a></li>
      {% endif %}
Run Code Online (Sandbox Code Playgroud)

即使我已登录,它仍然显示"登录"作为选项而不是"注销".但是,如果我点击链接,它会将我重定向到/ profile,因为如果我已经登录,那就是视图告诉它要做的事情.所以,显然它知道我已登录,但模板不是readint user.is_authenticated为true.

与登录请求相关的视图是:

def LoginRequest(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/profile/')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            profile = authenticate(username=username, password=password)
            if profile is not None:
                login(request, profile)
                return HttpResponseRedirect('/profile/')
            else:
                return render_to_response('template/login.html', {'form': form}, context_instance=RequestContext(request))
        else:
            return render_to_response('template/login.html', {'form': form}, context_instance=RequestContext(request))
    else:
        ''' user is not submitting the form, show them login form …
Run Code Online (Sandbox Code Playgroud)

authentication django

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

如何从django中的db模型获取字段类型字符串

我正在做以下事情:

model._meta.get_field('g').get_internal_type
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

<bound method URLField.get_internal_type of <django.db.models.fields.URLField: g>>
Run Code Online (Sandbox Code Playgroud)

我只想知道这个字段是"URLField".如何从此输出中提取?

注意:我这样做是为了我可以对字段进行验证.例如,如果是网址,我想检查它是否格式正确.

python django django-models

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

ModuleNotFoundError:没有名为“ distutils.core”的模块

我最近从升级Ubuntu 18.0419.04python 3.7。但是我在许多项目上使用Python 3.6

现在,当我尝试在PyCharm中创建virtualenvwith Python 36时,它引发了:

ModuleNotFoundError: No module named 'distutils.core'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我不知道该怎么办。

我尝试安装distutils:

milano@milano-PC:~$ sudo apt-get install python3-distutils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-distutils is already the newest version (3.7.3-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

但是如您所见,我拥有最新版本。

你知道该怎么办吗?

python virtualenv pycharm python-3.6

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

Django-如何可视化信号并保存替代?

随着项目的发展,依存关系和事件链也会不断增长,尤其是在覆盖的save()方法post_savepre_save信号中。

例:

覆盖将A.save创建两个相关的对象A- BC。当C被保存时,post_save信号被调用,做别的事情,等...

如何弄清楚这些事件的下巴?有没有办法可视化(自动生成)这样的链/流?我既没有寻找,ERD也没有任何Class图表。我需要确保在一个地方做一件事情不会影响项目另一侧的事情,所以简单的可视化将是最好的。

编辑

明确地说,我知道检查动态生成的信号几乎是不可能的。我只想检查所有(不是动态生成的)post_savepre_save和重写的save方法并将其可视化,这样我就可以立即看到正在发生的事情以及何时发生的save事情。

python architecture django software-design

20
推荐指数
2
解决办法
528
查看次数

Django:将行插入数据库

我是Django的新手.我已经通过插入模型创建了一个表models.py.

现在,我想在数据库中插入一行 - 表Dodavatel.我知道,我必须创建一个属性为列的对象.但我不知道我应该把这段代码放在哪里.在models.py

这是我的模特:

class Dodavatel(models.Model):
    nazov = models.CharField(default='', max_length=255)
    dostupnost = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

这是插入行的代码:

p = Dodavatel(nazov='Petr', dostupnost=1)
p.save()
Run Code Online (Sandbox Code Playgroud)

我应该把这段代码放在哪里?

python mysql django insert

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

检查域是否已注册

我正在尝试制作一个不会注册域名的脚本.我在使用Python 2.7.我已经读过该模块whois应该能够做到这一点,但我写的代码会引发错误.

import whois
domains = ['http://www.example.com']

for dom in domains:
    domain = whois.Domain(dom)
    print domain.registrar 
Run Code Online (Sandbox Code Playgroud)

这是错误:

  domain = whois.Domain(dom)
  File "C:\Python27\lib\site-packages\whois\_3_adjust.py", line 12, in __init__
    self.name               = data['domain_name'][0].strip().lower()
TypeError: string indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

你知道什么可能是错的吗?或者你能给我一个更好的解决方案吗?

编辑:我尝试了pythonwhois模块,但它也返回错误.

编辑2:根据这里的一个解决方案,在SO上,我试图使用pywhois,这个代码也引发了错误.

import pywhois
w = pywhois.whois('google.com')
w.expiration_date
Run Code Online (Sandbox Code Playgroud)

错误:

w = pywhois.whois('google.com')
AttributeError: 'module' object has no attribute 'whois'
Run Code Online (Sandbox Code Playgroud)

python dns

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

如果发生错误,请在循环中重复迭代

是否有一个命令,例如breakcontinue可能重复最近的迭代?

例如,抛出异常时.

for i in range(0,500):
    try:
        conn = getConnection(url+str(i))
        doSomething(conn)
    except:
        repeat
Run Code Online (Sandbox Code Playgroud)

让我们有一个i变量值的迭代6.在此迭代期间,发生了一些连接错误.我想重复这个迭代.

有没有可以做到的命令?

我当然可以这样做:

i=0
while i!=500:
    try:
        conn = getConnection(url+str(i))
        doSomething(conn)
        i+=1
    except:
        pass
Run Code Online (Sandbox Code Playgroud)

python iteration loops exception-handling exception

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

ImportError:无法导入名称RAND_egd

我试图使用py2exe创建一个exe文件.我最近更新了Python从2.7.7到2.7.10以便能够使用requests- proxies.

在更新之前一切正常但现在,最近创建的exe文件,引发了这个错误:

    Traceback (most recent call last):
  File "puoka_2.py", line 1, in <module>
    import mLib
  File "mLib.pyc", line 4, in <module>
  File "urllib2.pyc", line 94, in <module
  File "httplib.pyc", line 71, in <module
  File "socket.pyc", line 68, in <module>
ImportError: cannot import name RAND_egd
Run Code Online (Sandbox Code Playgroud)

它可能可以通过更改optionssetup.py文件来修复,但我无法弄清楚我必须在那里写什么.我试过options = {'py2exe': {'packages': ['requests','urllib2']}})但没有成功.

它作为Python脚本运行,但不作为exe.

有谁知道该怎么办?

编辑:

我试图setup.py将此导入文件归档:from _ssl import RAND_egd 它表示无法导入.

EDIT2:Setup.py:

from distutils.core import setup
import py2exe
# from _ssl import RAND_egd …
Run Code Online (Sandbox Code Playgroud)

python import ssl executable py2exe

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

Dropzone - 未捕获错误:未提供URL

在使用Dropzonejs上传文件后,我无法弄清楚如何获取JSONresponse.

我有这个:

<script src="{% static "dropzone/dropzone.js" %}"></script>

<form id="id_dropzone" class="dropzone" action="/ajax_file_upload_handler/"
              enctype="multipart/form-data" method="post"></form>
Run Code Online (Sandbox Code Playgroud)

我认为没有手动初始化dropzone是不可能的,所以我将其更改为:

$("#id_dropzone").dropzone({
                maxFiles: 2000,
                url: "/ajax_file_upload_handler/",
                success: function (file, response) {
                    console.log(response);
                }
            });


<form id="id_dropzone" class="" action=""
              enctype="multipart/form-data" method="post"></form>
Run Code Online (Sandbox Code Playgroud)

哪个回归 Uncaught Error: No URL provided.

如何初始化dropzone以便我可以添加maxFiles,maxSize等选项并获取JSON响应?

html javascript ajax jquery dropzone.js

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