当我使用dropzone上传文件时,它会将它们添加到数据库中,但它们没有文件,只有ID和创建日期.我认为观点是问题,但我已经尝试了很多东西,我无法弄明白.有关更详细的帐户,请参阅下面的编辑.
这是观点
@login_required(login_url='/dashboard-login/')
def dashboard(request):
current_user = request.user
current_client = request.user.client
files = ClientUpload.objects.filter(client=current_client)
form = UploadFileForm()
if request.method == 'POST':
if request.FILES is None:
logger = logging.getLogger(__name__)
logger.warning("No files were attached to the upload.")
return HttpResponseBadRequest('No Files Attached.')
if form.is_valid():
upload = form.save()
form = UploadFileForm(request.POST, request.FILES)
else:
uploaded_files = [request.FILES.get('file_upload[%d]' % i)
for i in range(0, len(request.FILES))]
for f in uploaded_files:
client_upload = ClientUpload.objects.create(client=current_client, file_upload=f)
#for key in request.FILES:
# cupload = ClientUpload.objects.create(client=current_client, file_upload=request.FILES[key])
logger = logging.getLogger(__name__)
logger.debug(request.FILES) …Run Code Online (Sandbox Code Playgroud) Django Oauth Toolkit文档在注册您的应用程序时不会描述重定向uris,授权授权类型或客户端类型字段.
该教程说将客户端类型设置为机密,将类型授予密码,并将uris留空.
其他选项有什么作用?
例如什么是客户类型公共与机密?授权类型密码,凭据,授权,隐式做什么?什么是重定向uris?
我发现了关于它们的稀疏信息,但没有关于django rest framework和django oauth工具包的实际解释.
我有一个文件名:name.ext
我想做以下事情:
name + id + '.' + ext for name, ext in filename.split()
Run Code Online (Sandbox Code Playgroud)
或者找到一种更好的方法来获取文件名并在扩展名之前添加一个随机的7个字符串到最后.
这是我到目前为止:
def generate_id(size=7, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
def append_id(filename):
return (name + '_' + generate_id() + '.' + ext for name, ext in filename.split('.'))
Run Code Online (Sandbox Code Playgroud)
但它将它视为生成器表达式,这不是我想要的结果.
编写append_id函数的正确方法是什么?
我在Outlook 2013的VSTO插件中使用.NET 4.5.我在完全掌握属性和访问器方面遇到了一些麻烦.我假设的自动实现的访问器就是你刚刚写的get; 组; 而不是得到{// code}等等也给我带来了麻烦.我有一本我在班上内部使用的词典.这是我的代码:
private Dictionary<string, string> clientDict { get; set; }
private Dictionary<string, string> clientHistoryDict { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后是:
clientDict = new Dictionary<string, string>();
clientHistoryDict = new Dictionary<string, string>();
Run Code Online (Sandbox Code Playgroud)
我在稍后的代码中使用与同一类中的属性相同的名称.
我从来没写过:
private Dictionary<string, string> _clientDict; // etc.
Run Code Online (Sandbox Code Playgroud)
创建我刚才直接使用属性的变量.
我尝试更改我的代码来执行此操作,我遇到了一些问题,并意识到我对属性的理解有点混乱.
以下是我需要澄清的几个问题,我似乎无法找到正确的答案.
首先,有没有理由使用私有财产?我的字典永远不会在类之外或任何派生类中访问,所以是否有理由使用属性?我不使用任何特殊的验证或setter中的任何东西或类似的东西.
其次,当我尝试更改我的代码以使用变量,然后通过像典型属性示例那样的属性访问它们时,我遇到了问题.我找到了一个getter设置的示例return _clientDict,但是setter只是set; 它给了我错误:我必须设置一个body,因为它不是抽象的或部分的.为什么在这种情况下它不会为我自动实现setter?
最后,当我在声明它的同一个类中的属性上调用new时,使用属性和相同类型的普通变量之间的区别是什么?在这种情况下,属性是否与变量完全不同?当应该使用私有变量完成时,以这种方式使用属性是不好的做法吗?
这些可能是一些误入歧途的问题,但我找不到任何其他有信息帮助我理解这些区别的地方.我一直在玩房产试图找出所有这些,但我可以使用这样的帮助.
我看到很多类似的问题,但没有一个直接回答.我有一个List<ClientEntry>.我想访问ClientEntry中的属性.我的代码看起来像这样:
class ClientEntry
{
private string _clientName;
private string _clientEmail;
public void ClientEntry(string name, string email)
{
this._clientName = name;
this._clientEmail = email;
}
public string ClientName
{
get
{
return _clientName;
}
set
{
_clientName = value;
}
}
public string ClientEmail
{
get
{
return _clientEmail;
}
set
{
RegexUtilities Validator = new RegexUtilities();
if (Validator.IsValidEmail(value))
{
_clientEmail = value;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
后来:
private List<ClientEntry> clientList;
Run Code Online (Sandbox Code Playgroud)
然后我将一堆ClientEntry添加到List中.
如何访问clientList中项目的ClientName和ClientEmail属性?另外,如何检查List中某个ClientName或ClientEmail属性的存在?甚至可以使用对象列表吗?我知道dict可能会更好,但我想看看是否可以使用List和具有属性的类来完成.
我正在尝试学习一些基本的 win32 api。我看到将项目添加到菜单栏教程提到使用类似的东西:
hMenubar = CreateMenu();
hMenu = CreateMenu();
AppendMenuW(hMenu, MF_STRING, IDM_FILE_NEW, L"&New");
AppendMenuW(hMenu, MF_STRING, IDM_FILE_OPEN, L"&Open");
AppendMenuW(hMenu, MF_SEPARATOR, 0, NULL);
AppendMenuW(hMenu, MF_STRING, IDM_FILE_QUIT, L"&Quit");
AppendMenuW(hMenubar, MF_POPUP, (UINT_PTR)hMenu, L"&File");
Run Code Online (Sandbox Code Playgroud)
但是在 VS2013 中 C++ 桌面的默认项目中有一个文件和帮助菜单栏,里面有退出和关于。但他们所做的只是在 WndProc 中有一个这样的开关:
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
Run Code Online (Sandbox Code Playgroud)
我有几个问题。他们如何在不使用 createmenu() 等的情况下添加文件和帮助菜单栏,以及菜单栏中的 about 和 exit …
我已经研究了很长时间并进行了实验,我似乎无法弄清楚实现这一目标的最佳方法.我知道我做错了所以一些澄清以及一些简单的例子会有很大帮助.
我想知道如何使用https://wrapbootstrap.com/和Django 的bootstrap3主题.我研究了django-bootstrap3和django-bootstrap-themes包.在django-bootstrap-themes的github页面上,它表示它与bootswatch兼容.我不喜欢他们的主题所以我想知道它是否与wrapbootstrap.com主题兼容.我将从wrapbootstrap.com中选择的主题是响应式HTML主题.我想知道,如果出于个人经验,任何人都知道哪些软件包最适合使用来自wrapbootstrap.com和django的主题.
我理解可以从主题中获取样式表,脚本,将它们放入静态的各自文件夹中,并将HTML基础转换为基本模板以及其他页面.然后从CDN安装bootstrap.我知道这也可以用django-bootstrap3.但我无法找到答案,目前最好的方法是将其中一个主题和twitter bootstrap3集成到Django网站中,以及一些快速的例子.
谢谢,任何这样做的建议都会有所帮助.
我有一个垃圾桶的图标,用于Django网站上的删除按钮.
它只是一个带有i标签的锚标签,其href设置为传递模型元素id的删除视图.
它工作得很好,但我想创建一个对话框弹出窗口,在删除它之前要求确认.
我已经看到了一些方法,但它们都需要输入而不是锚.
我还需要在触摸设备上完成这项工作.
如何将其更改为输入元素并将图标保持为按钮而不是显示提交按钮.如何弹出对话框,单击"是"时,将正确的URL和ID传递给提交?
任何建议将不胜感激.
我似乎无法理解HyperlinkedIdentity和HyperlinkedRelated Fields之间的区别.我有一些问题似乎无法找到在线答案.
实际差异是什么?我什么时候想要使用一个与另一个.
我的下一个问题是说我有2个模型,项目和任务.
任务有一个ForeignKey到项目.如果我希望项目超链接到其中的任务,我将在ProjectSerializer中放置哪个超链接字段?假设我希望任务能够超链接回与它们相关的项目,我将在TaskSerializer中添加什么字段来补充ProjectSerializer?
使用超链接字段与仅使用常规嵌套序列化程序有什么区别?使用超链接字段时,我还可以按pk/id过滤吗?
最后,如果模型在序列化器中有两个超链接关系怎么办?根据我的理解,它为每个超链接创建一个url字段,在这种情况下它会创建两个url字段吗?
感谢您提供的任何澄清,这将有助于巩固我对该主题的理解,并允许我完成我的项目的API.
一些背景
最近我遇到了一个问题,尽管 DJANGO_SETTINGS_MODULE 被设置为不同的设置文件,但我的 Django 应用程序仍在使用基本设置文件。结果发现问题是gunicorn没有继承环境变量,解决方案是添加-e DJANGO_SETTINGS_MODULE=sasite.settings.production到我调用gunicorn的Dockerfile CMD条目中。
问题
我在处理应用程序中的 SECRET_KEY 时遇到了问题。我将它设置在一个环境变量中,虽然我以前将它存储在一个 JSON 文件中,但这似乎不太安全(如果我错了,请纠正我)。
问题的另一部分是,在使用 gunicorn 时,它不会继承通常在容器上设置的环境变量。如上所述,我在 DJANGO_SETTINGS_MODULE 中遇到了这个问题。我想 gunicorn 也会有 SECRET_KEY 的问题。解决这个问题的方法是什么?
我目前的方法
我在环境变量中设置了 SECRET_KEY 并将其加载到 django 设置文件中。我在包含export SECRET_KEY=<secretkey>Dockerfile的文件“app-env”中设置值,RUN source app-env以便在容器中设置环境变量。
跟进问题
使用 Dockerfile 命令 ENV 设置环境变量 SECRET_KEY 而不是获取文件会更好吗?在这样的 Dockerfile 中对密钥进行硬编码是否可以接受(对我来说似乎不是这样)?
在 Dockerized 应用程序中处理密钥是否有“最佳实践”?
如果结果证明它与环境变量一样安全,我总是可以回到 JSON。但是弄清楚人们如何处理 SECRET_KEY 和 gunicorn 的环境变量问题仍然会很好。
代码
这是 Dockerfile:
FROM python:3.6
LABEL maintainer x@x.com
ARG requirements=requirements/production.txt
ENV DJANGO_SETTINGS_MODULE=sasite.settings.production_test
WORKDIR /app
COPY manage.py /app/
COPY requirements/ /app/requirements/
RUN pip install …Run Code Online (Sandbox Code Playgroud) django ×6
python ×3
c# ×2
javascript ×2
c++ ×1
docker ×1
dropzone.js ×1
field ×1
file-upload ×1
gunicorn ×1
html ×1
oauth ×1
properties ×1
secret-key ×1
winapi ×1