小编jpi*_*pic的帖子

如何从命令行执行PHP代码?

我想if(function_exists("my_func")) echo 'function exists';直接使用命令行执行单个php语句,而不必使用单独的php文件.

这怎么可能 ?

php linux shell command-line function

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

可以在基于Django类的视图中设置实例变量吗?

我尝试了Django的基于类的视图(CBV).

class BlahView(TemplateView):
    template_name = 'blah/blah.html'
    def get_context_data(self, **kwargs):
        #code...

    def get(self, request, **kwargs):
        #more code...
Run Code Online (Sandbox Code Playgroud)

现在,我知道我可以从self.request获得请求参数.现在说我要解析这些请求参数并将它们存储在类中.我可以存放self.xxx吗?现在,显然基于类的工作方式,这看起来很简单.

但我无法弄清楚控制的流程,看看View(超类TemplateView)的定义.该提到as_view()是"入口点"

我想在开头设置我的实例变量get_context_data()但是在那里进行初始化似乎不对.

我可以__init__()为我的CBV 定义一个吗?如果是这样,是否存在线程问题或多个页面访问可能与我的解析数据的全局实例一起工作?

我知道这听起来有点混乱,但我只是对CBV中的代码流感到困惑.

python django django-class-based-views

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

如何直接查询Django为ManyToMany关系创建的表?

我有一个模型,MyModel2ManyToManyField相关的另一种模式MyModel1.

我如何获得对mymodel1.id, mymodel2.id,如Django为这种关系创建的表中所示?我是否必须在此表上执行原始SQL查询,或者是否可以通过此模型的对象管理器进行查询?

class MyModel1(models.Model):
    name = models.CharField(max_length=50)


class MyModel2(models.Model):
    name = models.CharField(max_length=50)
    mymodel1 = models.ManyToManyField(MyModel1)
Run Code Online (Sandbox Code Playgroud)

python django many-to-many

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

Django - 使用事务原子回滚保存

我正在尝试创建一个保存对象的视图,但是如果引发一些异常,我想撤消该保存.这是我试过的:

class MyView(View):

    @transation.atomic
    def post(self, request, *args, **kwargs):
        try:
            some_object = SomeModel(...)
            some_object.save()

            if something:
                raise exception.NotAcceptable()
                # When the workflow comes into this condition, I think the previous save should be undome
                # Whant am I missing?

        except exception.NotAcceptable, e:
            # do something
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?即使引发异常some_object仍然在DataBase中.

python django transactions atomicity django-database

27
推荐指数
3
解决办法
4万
查看次数

如何使用django ORM在外键字段上连接两个表?

我们假设我有以下模型:

class Position(models.Model):
    name = models.CharField()

class PositionStats(models.Model):
    position = models.ForeignKey(Position)
    averageYards = models.CharField()
    averageCatches = models.CharField()

class PlayerStats(models.Model):
    player = models.ForeignKey(Player)
    averageYards = models.CharField()
    averageCatches = models.CharField()

class Player(models.Model):
    name = models.CharField()
    position = models.ForeignKey(Position)
Run Code Online (Sandbox Code Playgroud)

我想使用django的ORM执行等效的SQL查询:

SELECT *

FROM PlayerStats

JOIN Player ON player

JOIN PositionStats ON PositionStats.position = Player.position
Run Code Online (Sandbox Code Playgroud)

我怎么能用django的ORM做到这一点?查询是不完全正确的,但这个想法是我想要一个单一的查询,使用Django的ORM,这给了我PlayerStats加入了与PositionStats基于玩家的位置.

python database django postgresql orm

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

django:胖子模特和瘦小的控制者?

这是一个通用的架构问题.我在许多地方读到,在MVC框架中,(1)模型应该很胖,控制器应该是瘦的.但我也读到(2)细节取决于你正在开发的框架.那么,如果你在django中开发呢?

我对django的经验是,很多逻辑最终会被放入视图和表单中.不是"业务逻辑",而是处理请求,会话等的细节.在代码行方面,这些细节往往超过操纵模型对象的业务逻辑.我做错了什么,或者这是django的工作方式?

python django model-view-controller

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

PyCharm,Django:零代码覆盖率

PyCharm为Django测试目标提供了"Run with Coverage"操作.这将运行测试,但显示零测试覆盖率(0%文件,项目窗格中未涵盖,编辑器中全部为红色).选中或取消选中"使用捆绑的coverage.py"没有任何区别.

从CLI运行相同的测试会得到预期的结果:

$ coverage --version
Coverage.py, version 3.5.1.  http://nedbatchelder.com/code/coverage


$ coverage run ./manage.py test blackbox
Creating test database for alias 'default'...
....
----------------------------------------------------------------------
Ran 4 tests in 0.002s

OK
Destroying test database for alias 'default'...


$ coverage report
Name                      Stmts   Miss  Cover
---------------------------------------------
__init__                      0      0   100%
blackbox/__init__             0      0   100%
blackbox/models               5      0   100%
blackbox/rules/__init__       1      0   100%
blackbox/rules/board         62     19    69%
blackbox/tests               49      6    88%
manage                       11      4    64%
settings                     24      0   100%
---------------------------------------------
TOTAL                       152 …
Run Code Online (Sandbox Code Playgroud)

python django code-coverage pycharm

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

如何调试:内部错误当前事务被中止,命令被忽略直到事务块结束

嗨Stackoverflow人,

我用GeoDjango做了我的第一步,我正在寻找更好的选项来检查错误的sql语句.

到目前为止,我只是想在postgresql表中保护lng + lat点.

该模型定义为:

    geolocation = models.PointField(_('Geo Location'), 
                geography=True, 
                null = True, 
                blank = True,
                help_text=_('Geolocation with Longitude and Latitude'))

    objects = models.GeoManager()
Run Code Online (Sandbox Code Playgroud)

在我看来,我尝试执行以下命令

savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat))
Run Code Online (Sandbox Code Playgroud)

但是当我尝试保存表单时收到以下错误:

异常类型:InternalError异常值:当前事务被中止,命令被忽略,直到事务块结束

这个错误的原因是什么?我相信sql语句可能有问题,但检查的最佳方法是什么?Django只提供一般错误消息"内部错误".

感谢您的帮助和建议!

python django postgresql postgis geodjango

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

有没有办法在django中同时循环两个列表?

我有两个相同长度的列表对象,我希望渲染的补充数据有一种方法可以同时渲染两者,即.

{% for i,j in table, total %} 
 {{ i }} 
 {{ j }}
{% endfor %} 
Run Code Online (Sandbox Code Playgroud)

或类似的东西?

python django django-templates django-views

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

UnicodeEncodeError:'latin-1'编解码器无法编码位置0-1中的字符:序数不在范围内(256)

我是python中的新手.今天当我写一些搜索功能时遇到错误.我使用sqlalchemy orm来做到这一点,在我的函数中,我输入一个中文单词作为关键词.html页面给我一个UnicodeEncodeError在/ user/search:'latin-1'编解码器不能编码位置0-1中的字符:序数不在范围内(256).我的代码是这样的:

def user_search(request):
    name = request.GET.get('name').strip()
    user_list = list()

    if name:
        user_list = User.get_by_name(name)

class User(object):
    @classmethod
    def get_by_name(cls, name):
        return DBSession.query(cls).filter(cls.name==name)
Run Code Online (Sandbox Code Playgroud)

Traceback在这里:

Traceback:
    File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/home/jiankong/git/admin-server/lib/decorators.py" in wrapper
  75.                     return func(request, *args, **kwargs)
File "/home/jiankong/git/admin-server/lib/decorators.py" in wrapper
  39.             output = function(request, *args, **kwargs)
File "/home/jiankong/git/admin-server/apps/user/user_views.py" in user_search
  47.     users = jump_page(paginator, page)
File "/home/jiankong/git/admin-server/apps/user/utils.py" in jump_page
  92.         return paginator.page(1)
File "/usr/local/lib/python2.6/dist-packages/django/core/paginator.py" in page
  37.         number = self.validate_number(number)
File …
Run Code Online (Sandbox Code Playgroud)

python django sqlalchemy mysql-python latin1

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