我有一个表格,有一堆字段,然后我有一个:
profile_image=forms.ImageField(required=False)
Run Code Online (Sandbox Code Playgroud)
问题是在form.is_valid()检查之后,
form.cleaned_data.get('first_name')
Run Code Online (Sandbox Code Playgroud)
例如,DOES返回实际名称,但是,
form.cleaned_data.get('profile_image')
Run Code Online (Sandbox Code Playgroud)
不会返回任何东西.
在print(request.POST)输出中,我得到了
u'profile_image': [u'02 Portfolio Page.jpg']
Run Code Online (Sandbox Code Playgroud)
但在print(form.cleaned_data)中,我得到:
'profile_image': None
Run Code Online (Sandbox Code Playgroud)
为什么文件在is_valid检查时丢失了?我该怎么办?
更新:
class NewChickForm(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
profile_image=forms.ImageField(required=False)
def do_save(self):
u = Subject(
first_name = self.cleaned_data.get('first_name'),
last_name = self.cleaned_data.get('last_name'),
profile_image = self.cleaned_data.get('profile_image'),
)
print(self.cleaned_data)
u.save()
return u
Run Code Online (Sandbox Code Playgroud)
和
s = Subject()
form = NewChickForm(request.POST) # 1)do i add here `request.FILES` ?
if form.is_valid():
s = form.do_save()
# 2) s.profile_image = form.cleaned_data.get('profile_image')?
Run Code Online (Sandbox Code Playgroud)
即使我做#1)和#2),我仍然没有
我正在尝试创建一个网站,人们只会将他们的电子邮件地址和他们用cookie和所有人登录.在稍后阶段,我会要求他们提供密码和名称,但不会使用用户名.我试图用django-registraition做这个,但我得到错误,我有一些问题.
首先禁用用户名作为登录功能,我把str(time())而不是用户名 - 我正在寻找每次都会改变的东西.
但是,当我跳过身份验证(我目前不需要)时,我收到错误:
'RegistrationProfile' object has no attribute 'backend'
Run Code Online (Sandbox Code Playgroud)
或者,我可以离开身份验证,但后来我不知道如何只通过电子邮件和密码验证它.另外,我不知道如何使下一行工作:
auth.login(request, ProfileUser)
Run Code Online (Sandbox Code Playgroud)
如果有人能让我离开这里,那将是非常棒的.这是一些代码:
我的表格类:
class RegistrationFormCustom(forms.Form):
email = forms.EmailField()
def do_save(self):
new_u = User(username=str(time()),email= self.cleaned_data.get('email'),)
new_u.save()
new_p = Profile.objects.create_profile(new_u)
new_p.save()
return new_p
Run Code Online (Sandbox Code Playgroud)
我的看法:
def registerCustom(request, backend, success_url=None, form_class=None,
disallowed_url='registration_disallowed',
template_name='registration/registration_form.html',
extra_context=None,
initial={}):
form = RegistrationFormCustom(initial=initial)
if request.method == 'POST':
form = RegistrationFormCustom(initial=initial, data=request.POST)
if form.is_valid():
profile = form.do_save()
profile = auth.authenticate(username = profile.user.email, password = form.cleaned_data.get('pass1'))
print(profile)
auth.login(request, profile)
return redirect('/')
else:
pass
return render_jinja(request, 'registration/registration_form.html',
type="register",
form …
Run Code Online (Sandbox Code Playgroud) 我需要制作一个wordpress博客节目的主页,只有1个文本的paragraf,然后是更多,并在一个很好的图像下面.
但是,摘录不会拍摄图像.
此外,如果我放置更多页面分隔符,则不会显示图像.即使它确实如此,"更多"链接应该在文本之后,而不是在图像之后.
我怎样才能使这个工作?
更新:我注意到在源代码中,有一个指向图像的链接,但它不是正确的链接.目前我的博客位于www.domain.com/wordpress,并将移至www.domain.com.
目前图片有代码:
<a href="../wp-content/uploads/2011/05/2010_06_01_archive.jpg"><img width="800" height="990" alt="" src="../wp-content/uploads/2011/05/2010_06_01_archive.jpg" title="2010_06_01_archive"></a>
Run Code Online (Sandbox Code Playgroud)
不知何故,内置链接被打破了
我明白了:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 18635837 bytes) in /Users/[...]/cake/libs/cache/file.php on line 135
我不明白什么可以吃掉这么多内存.
我有大量变量,其中包含大量数组和数据.我的控制器结束了:
// RENDER
$this->set(compact('var1', 'var2'));
debug(memory_get_usage()); // prints out: 33997240
Run Code Online (Sandbox Code Playgroud)
33MB远远不到134MB
如果我debug(memory_get_usage());
作为视图的第一行,我仍然得到致命错误,这意味着问题不在视图的循环中.它似乎也不在控制器中,而是在控制器和视图之间.
如何调查问题所在并解决问题?
编辑<整个功能的代码:
function assignment_results($aid=null, $uid=null){
if($aid==null){
$this->Session->setFlash(__('Sorry but my butt got booted. 1907125790'));
$this->redirect($this->Misc->redirectHome());
}
$assignment = $this->EduAssignment->getById($aid);
// Get User IDS
if($uid==null){
$cus = $this->EduCourseUser->getStudentsForCourseId($assignment['EduAssignment']['edu_course_id']);
foreach ($cus as $cu){
$uids[]=$cu['EduCourseUser']['user_id'];
}
}else{
$uids[]=$uid;
}
// GET WORDING
$course = $this->EduCourse->getById($assignment['EduCourse']['id']);
$wt = $this->WritingTranslation->getById($assignment['EduAssignment']['writing_translation_id']);
$writing['Writing'] …
Run Code Online (Sandbox Code Playgroud) django ×2
cakephp ×1
fatal-error ×1
forms ×1
memory ×1
php ×1
registration ×1
validation ×1
wordpress ×1