我在shell中使用此命令来安装PIL:
easy_install PIL
Run Code Online (Sandbox Code Playgroud)
然后我跑去python输入:import PIL.但我得到这个错误:
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named PIL
Run Code Online (Sandbox Code Playgroud)
我从未遇到过这样的问题,您怎么看?
我有这些模型:
class Entity(models.Model):
name=models.CharField(max_length=100)
class Theme(models.Model):
name=models.CharField(max_length=100)
entity=models.OneToOneField(Entity)
class Company(models.Model):
name=models.CharField(max_length=100)
theme=models.OneToOneField(Theme,null=True,blank=True)
Run Code Online (Sandbox Code Playgroud)
我想在管理员中添加公司时过滤主题字段,有些事情是这样的:
class CompanyAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(CompanyAdmin, self).queryset(request)
qs.theme.queryset = Theme.objects.filter(name__iexact='company')
return qs
admin.site.register(Company,CompanyAdmin)
Run Code Online (Sandbox Code Playgroud)
我尝试过很多东西,但没有人工作过!我怎么能这样做?
我想要一个接受所有字符的网址,例如:
(r'^company/(?P<key>[a-zA-Z]+)/doclist/$','CompanyHub.views.docList')
Run Code Online (Sandbox Code Playgroud)
for key参数而不仅仅是ascii字母字符它接受所有字符包括数字,符号,如$, - ,_,...,字母,unicode字符,...
我怎样才能做到这一点?
我的Django模板中有这样的字段:
<p>{{news.description}}<p>
Run Code Online (Sandbox Code Playgroud)
我想展示这个领域的前50个单词.我该怎么做?
我想要SEO-friendly URL,我现在的网址urls.py:
(ur'^company/news/(?P<news_title>.*)/(?P<news_id>\d+)/$','CompanyHub.views.getNews')
Run Code Online (Sandbox Code Playgroud)
我在模板中使用它:
{% for n in news %}
<a href="{% url CompanyHub.views.getNews n.title,n.pk %}" >{{n.description}}</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我用它news_id来对get新闻对象PK.我想转换这个网址:
../company/news/tile of news,with comma/11
Run Code Online (Sandbox Code Playgroud)
至:
../company/news/tile-of-news-with-comma/11
Run Code Online (Sandbox Code Playgroud)
通过在模板中做这样的事情:
{% for n in news %}
<a href="{% url CompanyHub.views.getNews slugify(n.title),n.pk %}" >{{n.description}}</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我检查了这些问题:
question1
question2
question3和这篇文章,但他们保存slugify field在数据库中,而我想要按需生成它.另外我想运行查询news_id.
我认为这个问题很好,但我不知道怎么news_id用来取我的news object
我有这些模型:
class Person(models.Model):
name=models.CharField(max_length=100)
family=models.CharField(max_length=100)
class MailContact(models.Model):
person=models.ForeignKey(Person)
email=models.CharField(max_length=100)
#some fields
class Participant(models.Model):
person=models.ForeignKey(Person)
#some fields
Run Code Online (Sandbox Code Playgroud)
在views.py:
emails = []
for participant in participants:
for contact in participant__person__mailContact_set:
emails.append(contact.email)
send_mail(email_subject,email_body,'receiver_email_address@gmail.com',emails,fail_silently=False)
Run Code Online (Sandbox Code Playgroud)
我已经在很多方面改变了这段代码,但我反复得到这个错误:
global name 'participant__person__mailContact_set' is not defined
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
我打算做这个查询:
today = datetime.date.today()
year=today.year
month=today.month
news=News.objects.filter(date__year__lt = year,date__month__lt=month)
Run Code Online (Sandbox Code Playgroud)
注意:新闻对象有一个名为date
但是我收到此错误的字段:
Join on field 'date' not permitted. Did you misspell 'year' for the lookup type?
Run Code Online (Sandbox Code Playgroud)
你有什么想法?
提前致谢
在模板中:
<script type="text/javascript">
$.ajax({
type:"POST",
url:"{% url DrHub.views.ajxTest %}",
data: {
'start': $('#id_startTime').val(),
'end': $('#id_endTime').val(),
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
success: function(data){
alert(data);
}
});
</script>
.
.
.
<form method='POST' action=".">
{% csrf_token %}
<input type="text id="id_startTime" />
<input type="text id="id_endTime" />
<input type="submit" value="send" />
</form>
Run Code Online (Sandbox Code Playgroud)
在观点中:
def ajxTest(request):
if request.is_ajax():
if request.method == 'POST':
return HttpResponse(json.dumps({'message' : 'awesome'},ensure_ascii=False), mimetype='application/javascript')
Run Code Online (Sandbox Code Playgroud)
在settings.py中:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
Run Code Online (Sandbox Code Playgroud)
提交表单时我有这个错误:CSRF verification failed. Request aborted. …
我有这些模型:
class Gallery(models.Model):
HeadImage = models.ImageField(upload_to="gallery")
class Image(models.Model):
Image = models.ImageField(upload_to="gallery")
Gallery = models.ForeignKey(Gallery, related_name='images')
class Tour(models.Model):
Name=models.CharField(max_length=100)
Count=models.SmallIntegerField()
ActionUser=models.ForeignKey(User,editable=False)
Gallery = models.OneToOneField(Gallery,editable=False)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有一个巡回表格,一个画廊的表格和画廊的图像集,在编辑视图中我想用它的画廊和画廊的图像编辑一个游览.这是用它的相关对象编辑游览的代码:
def edittour(request,key,tour_id):
ImageFormSet = inlineformset_factory(Gallery,Image, can_delete=False,extra=4)
tourinstance=Tour.objects.get(pk=tour_id)
if request.method == 'POST':
gform=GalleryForm(request.POST,request.FILES,instance=tourinstance.Gallery)
if gform.is_valid():
gallery=gform.save(commit=False)
formset=ImageFormSet(request.POST, request.FILES, instance=tourinstance.Gallery)
if formset.is_valid():
gallery.save()
formset.save()
tform = TourForm(request.POST, request.FILES,instance=tourinstance)
if tform.is_valid():
tour=tform.save(commit=False)
tour.ActionUserCode=User.objects.get(pk=1)
tour.save()
return render_to_response('airAgency/edittour.html', {'tform': tform,'gform':gform,'formset':formset})#'airAgency/edittour/%i/' % (tour.pk))
else:
pass
tform = TourForm(instance=tourinstance)
gform=GalleryForm(instance=tourinstance.Gallery)
formset=ImageFormSet(instance=tourinstance.Gallery)
return render_to_response('airAgency/edittour.html', {'tform': tform,'gform':gform,'formset':formset})
Run Code Online (Sandbox Code Playgroud)
当我编辑Tour时,这很有效,但是当我编辑与gallery相关的Image_set时,它有以下错误:
MultiValueDictKeyError at /airAgency/mastane/edittour/1/
"Key 'images-0-id' not found …Run Code Online (Sandbox Code Playgroud) 我想编写一个模板标签,用破折号替换空格,制表符,新行,逗号,下划线,以建立一个SEO友好的URL:
re.sub('\s+', '-', str)
Run Code Online (Sandbox Code Playgroud)
这行代码用dash替换空格:
re.sub('(?<=[,.?!\t\n ])+', '-', str)
Run Code Online (Sandbox Code Playgroud)
这行代码应该?<=[,.?!?用dash 替换和替换,但事实并非如此.