向组添加权限时,我使用:
managers.permissions.add(
Permission.objects.get(codename='add_user')
)
Run Code Online (Sandbox Code Playgroud)
使用代号 add_user
现在,在检查用户是否具有特定权限时,我使用users.add_userie。在app_name前置
self.assertTrue(self.user.has_perm('users.add_user'))
Run Code Online (Sandbox Code Playgroud)
这是为什么。是否可以get通过users.add_user.
当我尝试时,我得到:
django.contrib.auth.models.DoesNotExist: Permission matching query does not exist.
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行以下代码:
foreach my $k (keys %rec) {
#switch for watchlist figures
given ($k) { #line 93
# Code omitted
when ("p") { #positive breakout
if ($row{cls} > $rec{$k}) {
$email .= "positive";
} # line 104
}
when ("n") { #negative breakout
if ($row{cls} < $rec{$k}) { #line 107
Run Code Online (Sandbox Code Playgroud)
但我得到一个语法错误:
syntax error at check_watch.pl line 93, near ") {"
syntax error at check_watch.pl line 104, near "}"
Unterminated <> operator at check_watch.pl line 107.
Run Code Online (Sandbox Code Playgroud)
为什么?
我没有使用 all-auth
我正在使用标准身份验证系统和 .url 提供的django.contrib.auth.
我还确保在注销时用户会自动重定向到登录页面
LOGOUT_REDIRECT_URL = "login"
Run Code Online (Sandbox Code Playgroud)
我想添加一条消息,以便用户知道他们已被注销,例如:
from django.contrib import messages
messages.add_message(request, messages.INFO, 'You have been logged out.')
Run Code Online (Sandbox Code Playgroud)
我是否能够在不让自己的观点注销的情况下实现这一目标。我可以用signals吗?
你如何在 Django 中使用 3 个不同的模型作为表单字段来制作表单?
这些是我的模型:
class User(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=50)
city = models.CharField(max_length=50)
class Team(models.Model):
team_name = models.CharField(max_length=250)
city = models.CharField(max_length=50)
class GameCategories(models.Model):
CATEGORIES = (
('Senior', 'Senior'),
('Middle', 'Middle'),
('Junior', 'Junior'),
)
category = models.CharField(max_length=16, choices=CATEGORIES)
Run Code Online (Sandbox Code Playgroud)
我想使用<select><option></option></select>上述模型创建一个表单,如下所示:
<select class="form-control">
<option value=""></option>
<option value="user.id">user.first_name + user.last_name</option>
<option value="user.id">user.first_name + user.last_name</option>
<option value="user.id">user.first_name + user.last_name</option>
</select>
<select class="form-control">
<option value=""></option>
<option value="gamecat.id">gamecat.category</option>
<option value="gamecat.id">gamecat.category</option>
<option value="gamecat.id">gamecat.category</option>
</select>
<select class="form-control">
<option value=""></option>
<option value="team.id">team.team_name</option>
<option value="team.id">team.team_name</option> …Run Code Online (Sandbox Code Playgroud) 我为我的许多项目创建了一个远程存储库,因此它是我的目的地push.与git的意识形态相反,但它作为一个中央存储库.
但是,当我转到*.git服务器上的文件夹时,有一个表单的目录结构:
- /branches
- /hooks
- applypatch-msg.sample
- commit-msg.sample
- etc
- /info
- exlude
- /objects
- 06
- 1c
- various hex numbers
- pack
- /refs
- /tags
- /heads
- master
- config
- description
- HEAD
Run Code Online (Sandbox Code Playgroud)
这里发生了什么,我敢肯定,如果我研究了git的内部工作,我将能够弄明白,但是项目文件在哪里?
更新
我用以下方式创建了回购:
git remote add origin git@site.co.za:project_name.gitgit push origin master考虑:
array (size=1)
0 =>
array (size=5)
'name' => string '15268459735 Farming and Projects XXXXX' (length=38)
'region' => string '2' (length=1)
'entitynumber' => string '2012/002086/24' (length=14)
'ownership' => string '6' (length=1)
'id' => string '26249' (length=5)
Run Code Online (Sandbox Code Playgroud)
为什么以下仍然返回没有owner元素的相同数组?
foreach ($result as $row)
{
$row['owner'] = 1;
}
Run Code Online (Sandbox Code Playgroud) 您可以将DbFlow ORM与现有SQLite数据库一起使用.这是与应用程序一起打包并在初始安装时复制(从assets文件夹)?
我有一个模型领域full_time_equivalent:
full_time_equivalent = models.DecimalField(
max_digits=5,
decimal_places=2,
default=100,
validators=[
MinValueValidator(Decimal(0)),
MaxValueValidator(Decimal(100))
]
)
Run Code Online (Sandbox Code Playgroud)
为了确保验证器能够触发,我使用以下命令进行覆盖save:
def save(self, *args, **kwargs):
# Run validations
self.full_clean()
return super().save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
通过以下测试:
project2_membership = ProjectMembership(
user=self.new_user,
project=project2,
is_project_manager=False,
full_time_equivalent=10.01
)
Run Code Online (Sandbox Code Playgroud)
当我进入验证时,将显示以下值和相应的错误:
Decimal('10.0099999999999997868371792719699442386627197265625')
django.core.exceptions.ValidationError:
{'full_time_equivalent': ['Ensure that there are no more than 5 digits in total.']
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我创建了一个 CBV,我想根据用户删除其中的一个或多个字段。这个想法是一个工作场所,如果登录用户是招聘人员,employer则应包括该字段,否则应排除该字段。
表格.py
class JobCreationForm(forms.ModelForm):
class Meta:
model = Job
# exclude = ['posted', 'provider', 'ext_id']
fields = ('title',
'job_desc',
'agency_name',
'employer',
'contact_name',
)
Run Code Online (Sandbox Code Playgroud)
视图.py
class JobCreateView(LoginRequiredMixin, CreateView):
template_name = 'job/job.html'
form_class = JobCreationForm
success_url = '/'
def get_context_data(self, **kwargs):
context = super(JobCreateView, self).get_context_data(**kwargs)
# import the Customers of this Company
self.fields["agency_name"].remove()
recruiter = self.request.user
self.fields["contact_name"].queryset = Profile.objects.filter(user_id = self.request.user)
# if the user is a recruiter, delete the employer field.
if Company.objects.filter(user_id = self.request.user).values('is_recruiter') == False:
pass …Run Code Online (Sandbox Code Playgroud) 团队中的一个提交并推送到远程,我们都包括服务器拉取了最新版本。
但现在它已经破坏了应用程序的一个重要部分。所以我们:
git reset HEAD^ --hard
git push origin -f
Run Code Online (Sandbox Code Playgroud)
推送后的消息是:
Total 0 (delta 0), reused 0 (delta 0)...forced update
Run Code Online (Sandbox Code Playgroud)
然后我在服务器上拉:
git pull
Run Code Online (Sandbox Code Playgroud)
它说的消息是:
Already up-to-date
Run Code Online (Sandbox Code Playgroud)
所以它没有恢复到上一次提交之前的那个。在我的本地版本上它是正确的提交,但在服务器上它仍然是旧的。
主要(中央)存储库是 github 上的存储库,然后是服务器版本,然后是我的本地存储库。