情况:
我有一些值,需要从中随机选择一个值.然后我想用固定的字符串连接它.到目前为止这是我的代码:
func main() {
//create the reasons slice and append reasons to it
reasons := make([]string, 0)
reasons = append(reasons,
"Locked out",
"Pipes broke",
"Food poisoning",
"Not feeling well")
message := fmt.Sprint("Gonna work from home...", pick a random reason )
}
Run Code Online (Sandbox Code Playgroud)
题:
是否有内置功能,可以通过" 选择随机原因 "部分帮助我?
我有一个非常简单的Django应用程序,以记录给我的同事的讲座.由于它是相当基本的,我使用Django管理员本身.这是我的models.py:
#models.py
from django.db import models
class Lecture(models.Model):
topic = models.CharField(max_length=100)
speaker = models.CharField(max_length=100)
start_date = models.DateField()
end_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)
我需要确保没有人在管理表单中的结束日期之后输入开始日期,所以我在管理员中阅读了django文档以进行自定义验证,并在我的admin.py中实现了以下内容:
#admin.py
from models import Lecture
from django.contrib import admin
from django import forms
class LectureForm(forms.ModelForm):
class Meta:
model = Lecture
def clean(self):
start_date = self.cleaned_data.get('start_date')
end_date = self.cleaned_data.get('end_date')
if start_date > end_date:
raise forms.ValidationError("Dates are incorrect")
return self.cleaned_data
class LectureAdmin(admin.ModelAdmin):
form = LectureForm
list_display = ('topic', 'speaker', 'start_date', 'end_date')
admin.site.register(Lecture, LectureAdmin)
Run Code Online (Sandbox Code Playgroud)
但是,这对我的管理员没有任何影响,我可以保存讲座,其中start_date位于end_date之后,如图所示:
我究竟做错了什么 ??
我有一个小班,如下:
class Gender(object):
MALE = 'M'
FEMALE = 'F'
Run Code Online (Sandbox Code Playgroud)
我有一个参数变量,只能是M或F.为了确保它只是那个,我做以下事情:
>>> parameter = 'M'
>>> if parameter not in (Gender.MALE, Gender.FEMALE)
... print "Invalid parameter"
...
Invalid parameter
>>>
Run Code Online (Sandbox Code Playgroud)
现在我有一个包含美国所有州的课程如下:
class States(object):
ALABAMA = 'AL'
ALASKA = 'AK'
ARIZONA = 'AZ'
ARKANSAS = 'AR'
CALIFORNIA = 'CA'
COLORADO = 'CO'
CONNECTICUT = 'CT'
DELAWARE = 'DE'
DISTRICTOFCOLUMBIA = 'DC'
....
....
Run Code Online (Sandbox Code Playgroud)
就像上面的例子一样,我的参数现在是AL.但是,由于美国有50个状态,我实际上不能使用像我上面使用的50个变量的元组.有更好的方法吗?我确实读过关于isinstance的内容,但它没有给我预期的结果.
所以我在Heroku上有一个Flask服务器已经按预期工作了一段时间.现在,根据新的要求,我需要向Flask服务器添加功能以从外部网站获取页面.因为最有名的原因我,我正在使用Selenium和Chrome网络驱动程序来执行此操作.我能够设置它并且它工作正常但我不太确定如何在Heroku服务器上设置它.我读了一些关于buildpacks的内容,发现了ChromeDriver的这个buildpack:
https://elements.heroku.com/buildpacks/jimmynguyc/heroku-buildpack-chromedriver
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何继续进行.我如何安装铬浏览器本身还需要什么才能将其全部绑定?
我有一个 Django 休息框架GenericViewset,我试图为它设置分页,如下所示:
#settings.py
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS':
'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 20
}
#views.py
class PolicyViewSet(viewsets.GenericViewSet):
def list(self, request):
queryset = Policy.objects.all()
page = self.paginate_queryset(queryset)
serializer = PolicySerializer(page, many=True)
return self.get_paginated_response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
这按预期工作。 但是,如果我尝试使用普通的Viewset执行相同的操作,如下所示:
#views.py
class PolicyViewSet(viewsets.ViewSet):
def list(self, request):
queryset = Policy.objects.all()
page = self.paginate_queryset(queryset)
serializer = PolicySerializer(page, many=True)
return self.get_paginated_response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
'PolicyViewSet' 对象没有属性 'paginate_queryset'
如何使用普通的Viewset设置分页。DRF 中的 GenericViewset 和 Viewset 有什么区别?
所以我从头开始创建一个全新的Flask应用程序.正如所有优秀的开发人员所做的那样,我的第一步是创建虚拟环境.
我在虚拟环境中安装的第一件事是Flask==0.11.1
.Flask安装以下依赖项:
- 点击== 6.6
- itsdangerous == 0.24
- Jinja2的== 2.8
- MarkupSafe == 0.23
- WERKZEUG == 0.11.11
- 轮== 0.24.0
现在,我创建了一个requirements.txt,以确保每个克隆存储库的人都拥有相同版本的库.但是,我的困境是这样的:
我有一个看起来像这样的模型:
class Change(models.Model):
RFC = models.CharField(max_length=10)
Ticket_Number = models.CharField(max_length=10)
Plan_Owner = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)
然后我通过这个在Django管理员中注册模型:
class ChangeAdmin(admin.ModelAdmin):
search_fields = ('RFC', 'Ticket_Number','Plan_Owner')
list_display = ('RFC', 'Ticket_Number','Plan_Owner')
fieldsets = [
('Ticket Details', {
'fields': ['RFC', 'Ticket_Number', 'Plan_Owner']}),
]
admin.site.register(Change, ChangeAdmin)
Run Code Online (Sandbox Code Playgroud)
我想要实现的是确保特定更改的Plan_owner是唯一可以在超级用户之外编辑它的人.每个人都可以查看它,但计划所有者是唯一可以对其进行更改的人.另外,通过编辑,我的意思是,他可以做任何事情,但删除一行.我已经看过Django监护人,它完全符合我的要求但是必须手动为每一行设置监护人的权限.我正在寻找一个解决方案,其中这些权限是根据我的要求自动设置的...
我的admin.py看起来像这样:
class ChangeAdmin(GuardedModelAdmin):
form = ChangeForm
search_fields = ('RFC', 'Ticket_Number', 'User_Email', 'Change_Details')
list_display = ('RFC', 'Ticket_Number', 'User_Requested_Time', 'Start_Time', 'End_Time',
'User_Email', 'Line_of_Business', 'Conf_Call_Details', 'Region',
'Summary', 'Description', 'Change_Details', 'Site_code', 'Configuration_Item',
'Plan_Owner', 'Plan_status', 'Change_Owner', 'Implementer', 'Validator')
date_hierarchy = 'Start_Time'
list_select_related = True
Run Code Online (Sandbox Code Playgroud)
很明显,表格显示中有很多列表字段.这搞砸了数据在列中的显示方式.查看截图
如何在django admin中调整列宽?
这可能是一个非常奇怪的问题但是,
考虑一个名为a的变量.现在让我们为它赋值如下:
a = 1
Run Code Online (Sandbox Code Playgroud)
现在让我们改变的值一现.
a = 3
Run Code Online (Sandbox Code Playgroud)
有没有办法在Python中知道变量的先前值而不将其存储在另一个变量中.是否python在内部维护一个变量的所有值的分类帐,在其生命周期内可以访问?
我正在尝试创建一个网页,其中包含我们团队以表格形式管理的整个服务器库存.我使用简单的LAMP堆栈和库存输入作为CSV文件.
该表有三列:主机名,IP地址和设备序列号.
虽然这很好用,但我想更进一步,让表中的每个IP地址都是一个超链接,单击它将打开一个SSH客户端,它将连接到该IP地址.有关如何做到这一点的任何线索?我希望会有像mailto:
打开电子邮件客户端(Outlook窗口)的标签.
python ×8
django ×4
django-admin ×2
class ×1
django-forms ×1
django-views ×1
go ×1
heroku ×1
html ×1
instance ×1
pip ×1
putty ×1
random ×1
selenium ×1
slice ×1
virtualenv ×1
webdriver ×1