我有一个模型,下面有一些字段
class Choclate(models.Model):
name = models.CharField(max_length=256)
price = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
所以我想获得具有该lowest price 值的字段名称,因此为了获得该lowest price值,我们可以像下面这样使用Aggregations
from django.db.models import Avg, Max, Min
choclates = Choclate.objects.all()
lowest_price = choclates.aggregate(Min('price'))
Run Code Online (Sandbox Code Playgroud)
那么最后如何获得field name与django中最低价格相关的?
我有一个版本的django应用程序1.6.5,我正在尝试将其升级到1.8,但是在django版本增加到之后我就得到了以下错误1.8
There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
Run Code Online (Sandbox Code Playgroud)
码
INSTALLED_APPS = [
'django_messages',
'avatar',
'tinymce',
'south',
'tracking',
......
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '127.0.0.1',
'NAME': 'xxxxxx',
'USER': 'xxxxxx',
'PASSWORD': 'xxxxxx',
},
}
Run Code Online (Sandbox Code Playgroud)
那么问题是什么以及需要做些什么才能解决这个问题呢?
我甚至尝试使用以下设置并在运行django本地服务器时收到相同的错误
SOUTH_DATABASE_ADAPTERS = {
'default': "south.db. postgresql_psycopg2"
}
Run Code Online (Sandbox Code Playgroud) 我使用django并开发了一个工作正常的网站,它即将投入生产并准备好在几周内部署.
因此,在转向生产之前,我希望与我的一些员工共享该网站,以检查功能和其他内容.实际上他们的系统在局域网中与我的系统连接.
所以我的系统IP地址是这样的192.168.12.135,当我们运行运行django开发服务器运行时localhost:8000,我的意思是系统IP地址和一个8000 类似的端口192.168.12.135:8000.
所以我已经将项目站点链接分享为192.168.12.135:8000,但是当他们尝试在LAN中连接的系统时,它无法访问并显示错误Server not found.
我尝试了上述相同的方式,因为最近我使用python web.py框架并开发了一个最小的站点,当我们运行服务器时,它默认运行为localhost:8080,当我从其他系统访问此链接时,在局域网中连接我的192.168.12.135:8000,因为工作正常,可以访问.
所以任何人都可以让我知道
1. How to access the site on the systems that are connected in LAN before moving to production(in some real servers like apache, nginx etc.,).
2. Basically i am new to web developing and this is my first site developed in python, so
i don't know more about servers and deploying a project. So …Run Code Online (Sandbox Code Playgroud) 我有一个django模型,其中包含一个description字段:
class Product(models.Model):
name = models.CharField(max_length="125")
description = models.TextField()
class ProductForm(ModelForm):
class Meta:
model = Product
def __init__(self, *args, **kwargs):
super(ProductForm, self).__init__(*args, **kwargs)
self.fields['description'].widget.attrs = { 'placeholder':'Description', 'rows':'10'}
Run Code Online (Sandbox Code Playgroud)
我正在渲染如下
<html>
<body>
{{form.name}}
{{form.description | linebreaks}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此,使用上面的过滤器,linebreaks我可以将数据作为行格式化,但现在我想在描述字段中给出一个URL(www.google.co.in),它应该是一个可点击的前端product detail page
如何在前端的django描述字段中添加富文本格式?
我正在使用django更新视图来model/records编辑下面的内容
class EditProductView(LoginRequiredMixin, UpdateView):
model = Product
def get_template_names(self):
return ['website/product/edit_product.html']
def get_success_url(self):
return reverse('product_details', args=[self.kwargs['pk']])
def get_context_data(self, **kwargs):
publisher = Publisher.objects.get(product__id=self.kwargs['pk'])
context = super(EditProductView, self).get_context_data(**kwargs)
context.update(
{
'publisher':publisher,
}
)
return context
edit_product = EditProductView.as_view()
Run Code Online (Sandbox Code Playgroud)
所以我想要/想要做的就是POST在提交表单之前改变(添加一些数据,根据网站功能编辑已提交的数据)数据,
所以我知道UpdateView有一些方法def def post(self, request, *args, **kwargs):,但我不确切知道如何使用它
假设下面是我得到的request.POST数据
<QueryDict: {u'product_name': [u'Biscuit'], u'product_price': [u'1000'], u'product_tag': [u'']}>
Run Code Online (Sandbox Code Playgroud)
所以现在我想改变上面的内容QueryDict,如果值为product_tag空,我需要指定一些默认值并提交最新的querdict
我也知道Querydict是可变的,但是因为我确实需要编辑POST数据,之前submitting/saving to database,我需要将该querydict作为dict,然后编辑它,然后转换回querdict
毕竟我的问题是什么
POST数据UpdateViewpost方法是否有效?我有一个django应用程序,它运行在1.4.2版本上,工作完全正常,但最近我更新到django 1.6.5并面临一些奇怪的错误,如下
实际上我在我的网站功能的用户/客户注册过程中得到这个
Request URL: http://example.com/client/registration/
Django Version: 1.6.5
Exception Type: TypeError
Exception Value: <Client: test one> is not JSON serializable
Exception Location: /usr/lib/python2.7/json/encoder.py in default, line 184
Python Executable: /home/user/.virtualenvs/test_proj/bin/python
Python Version: 2.7.5
Run Code Online (Sandbox Code Playgroud)
追溯
Traceback:
File "/home/user/.virtualenvs/test_proj/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
199. response = middleware_method(request, response)
File "/home/user/.virtualenvs/test_proj/local/lib/python2.7/site-packages/django/contrib/sessions/middleware.py" in process_response
38. request.session.save()
File "/home/user/.virtualenvs/test_proj/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py" in save
57. session_data=self.encode(self._get_session(no_load=must_create)),
File "/home/user/.virtualenvs/test_proj/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py" in encode
87. serialized = self.serializer().dumps(session_dict)
File "/home/user/.virtualenvs/test_proj/local/lib/python2.7/site-packages/django/core/signing.py" in dumps
88. return json.dumps(obj, separators=(',', ':')).encode('latin-1')
File "/usr/lib/python2.7/json/__init__.py" in …Run Code Online (Sandbox Code Playgroud) 我有一个网页,其中包含一些背景图像和CSS颜色,但当我使用ctrl + p其显示页面打印页面打印预览没有CSS和背景颜色.
我有一个div具有内联样式属性的元素(因为div的背景图像将在编码中使用for循环动态选择),如下所示
<div class='assessment' style='background-image: url('/static/images/print_%s.png')' >
<p></p>
<p></p>
</div>
Run Code Online (Sandbox Code Playgroud)
所以我在这里读了一些东西,我们可以编写print mediacss来使背景图像和颜色默认可见
@media print {
.assessment {
visble:visible;
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何用style='background-image: url('/static/images/print_%s.png')我在上面的div中的内联css()来编写这个媒体css
那么如何使用内联css编写媒体css,以便在某些点击时默认情况下在打印预览中显示背景图像ctrl+p?
我试图在我的虚拟环境中使用pip安装pylibmc并获得以下错误
pip install pylibmc
Downloading/unpacking pylibmc
Downloading pylibmc-1.3.0.tar.gz (49kB): 49kB downloaded
Running setup.py egg_info for package pylibmc
warning: no files found matching 'LICENSE'
warning: no files found matching 'runtests.py'
warning: no files found matching '*.py' under directory 'pylibmc'
Installing collected packages: pylibmc
Running setup.py install for pylibmc
building '_pylibmc' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE_ZLIB -I/usr/include/python2.7 -c src/_pylibmcmodule.c -o build/temp.linux-x86_64-2.7/src/_pylibmcmodule.o -fno-strict-aliasing
In file included from src/_pylibmcmodule.c:34:0:
src/_pylibmcmodule.h:42:36: fatal error: libmemcached/memcached.h: No such file or …Run Code Online (Sandbox Code Playgroud) 我在python中使用urllib2和urllib库
假设我有以下代码
import urllib2
import urllib
url = 'http://ah.example.com'
half_url = u'/servlet/av/jd?ai=782&ji=2624743&sn=I'
req = urllib2.Request(url, half_url.encode('utf-8'))
response = urllib2.urlopen(req)
print response
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我收到以下错误
Traceback (most recent call last):
File "example.py", line 39, in <module>
response = urllib2.urlopen(req)
File "/usr/lib64/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 398, in open
response = meth(req, response)
File "/usr/lib64/python2.7/urllib2.py", line 511, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python2.7/urllib2.py", line 436, in error
return self._call_chain(*args)
File "/usr/lib64/python2.7/urllib2.py", line 370, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码替换字符串中的反斜杠'\'
string = "<P style='TEXT-INDENT'>\B7 </P>"
result = string.replace("\",'')
Run Code Online (Sandbox Code Playgroud)
结果:
------------------------------------------------------------
File "<ipython console>", line 1
result = string.replace("\",'')
^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)
在这里我不需要反斜杠,因为实际上我正在解析一个xml文件,它有一个上述格式的标签,所以如果反斜杠在那里,它会invalid token在解析过程中显示
我可以知道如何在python中用空字符串替换反斜杠
django ×7
python ×6
css ×1
django-south ×1
firefox ×1
html ×1
installation ×1
javascript ×1
json ×1
lan ×1
min ×1
pip ×1
post ×1
postgresql ×1
psycopg2 ×1
replace ×1
request ×1
urllib ×1
urllib2 ×1