对于博客应用或CMS,这似乎是一个非常简单的要求:
您如何自动使登录用户成为wagtail页面的作者?例如,如果我以“ Bob”身份登录并输入帖子,则作者应自动为“ Bob” “。
通常,我只是将其写到Django视图中,但是由于我使用的是Wagtail,我希望它位于主程序包中。但是,docs并未提及,official demo似乎暗示必须从下拉选择框中选择作者,这意味着任何作者都可以假装成其他人!
我们使用内嵌面板访问People对象,该内嵌面板引用了 BlogPeopleRelationship中的ParentalKey的related_name。
我错过了吗?
答案 0 :(得分:2)
创建页面的用户可用作属性//in my constructor
add_action( 'gform_post_paging_5', [$this, 'makeRequest'], 10, 3 );
public function makeRequest($form, $source_page_number, $current_page_number) {
//Pages 1-4 are customer required fields
if($current_page_number < 5) {
return $form;
}
//page 5! do api call
$errors = false;
//...
//uh-oh, an error has occurred. Hide submit button and remove unwanted elements
if($errors) {
add_filter( 'gform_submit_button_5', '__return_false');
//remove unwanted fields
//...
}
return $form;
}
:
http://docs.wagtail.io/en/stable/reference/pages/model_reference.html#wagtail.core.models.Page.owner
这在Wagtail中用于权限检查(具有“添加”但没有“编辑”权限的用户可以编辑他们自己创建的页面),但是它也可以作为页面作者显示在您的网站前端如果您愿意的话。