我刚开始玩Django,并且根据我自己的一套基本要求松散地遵循教程.到目前为止我所描述的模型比教程更全面,但它们编译得很好.否则,一切都应该是一样的.
我的问题是管理员应用程序.我可以登录并查看可编辑的模型,但是当我点击模型或任何更改/添加按钮时,我会得到404.
这是我得到的确切错误:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/admin/auth/user/add/
App u'', model u'auth', not found.
Run Code Online (Sandbox Code Playgroud)
这些是相关文件及其中的内容:
urls.py
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^daso/', include('daso.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
#(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin(.*)', admin.site.root)
)
Run Code Online (Sandbox Code Playgroud)
admin.py
from …Run Code Online (Sandbox Code Playgroud) 我刚开始为一家规模合理的公司开展我的第一份开发工作,该公司必须管理大量数据.平均数据库是6GB(从我到目前为止看到的).其中一项工作是报道.目前的工作方式是 -
数据被复制并传输到数据仓库.从那里,收集特定报告所需的所有数据(数千行和大量表)并汇总到仓库中的报告数据库.这一切都是通过存储过程完成的.
请求报告时,将调用存储过程,该过程将数据复制到PHP读取的报告数据库以显示数据.
我根本不是存储过程的忠实粉丝.但是我所说过的人坚持认为存储过程是唯一的选择,因为通过编程语言直接查询数据的速度非常慢(想想30分钟?).安全也是一个问题.
所以我的问题是 - 当你有一个非常大的数据集时,是否需要存储过程?对于如此大量的数据,查询是否确实需要很长时间,或者DB服务器是否存在问题或数据的排列方式(以及索引?).我感觉有些不对劲.
database sql-server performance database-design stored-procedures
我已经阅读了一些与 sqlite 并发问题相关的内容,但我不知道它们如何应用于 Django,因为它本质上是单线程的。我也没有使用任何多进程模块。我也完全没有并发编程的经验,因此,如果有人能够确定为什么以下代码会导致操作错误:“数据库已锁定”,我将不胜感激。
视图.py
def screening(request, ovramt=None):
errors = []
if request.method == "POST":
form = ScreeningForm(request.POST)
if form.is_valid():
print "Woo valid!!"
return HttpResponse()
else: # GET
if ovramt is None:
o = Ovramt.objects.select_related(depth=1).latest("date_completed")
print "found?"
print o.id
else:
try:
o = Ovramt.objects.select_related(depth=1).get(id=ovramt)
except:
errors.append("OVRAMT NOT FOUND")
if o.residents.count() <= 0:
o.add_active_residents()
residents = list(o.residents)
Run Code Online (Sandbox Code Playgroud)
模型.py
def add_active_residents(self):
ssa_res = SSA_Resident.objects.select_related(depth=1).filter(ssa=self.ssa, active=True)
for r in ssa_res:
self.residents.add(r.resident) # Fails Here
self.save()
Run Code Online (Sandbox Code Playgroud)
add_active_residents 方法工作正常,直到从视图模块调用它为止。视图中是否存在与数据库打开的连接,该连接阻止从模型写入?有人能解释为什么这段代码会出错吗?
是否有解决方法(除了将列类型更改为文本字段)以使用PHP和mssql库选择大型varchar字段?例如varchar(500).PHP真的将字符数限制为255吗?有没有办法拉回来呢?
在VB .NET中,当您调用RaiseEvent X()时,是处理异步或同步处理的事件X的函数.我的印象是RaiseEvent和事件的处理是同步的,除非在另一个线程上明确地创建.不过我已经被告知了.
我已经研究过几个与ScrollViewer相关的问题,但是没有一个问题适合我.这几乎可以肯定是由于我对元素的大小缺乏了解.首先,我的XAML(UserControl定义除外,这是整个控件):
<DockPanel Width="Auto">
<ScrollViewer DockPanel.Dock="Top" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Visible" CanContentScroll="True" BorderBrush="{DynamicResource PanelBorder}" BorderThickness="1,1,1,1" Background="{DynamicResource LightGradientBackgroundBrush}">
<ItemsControl Focusable="false" Width="Auto" MinHeight="30" ItemsSource="{Binding RequiredFields}" OverridesDefaultStyle="False">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<DockPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="3,0,3,3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding Path=Header, Mode=OneTime}" Foreground="{DynamicResource SilverBorderColorBrush}" Grid.Column="0"/>
<TextBox Text="{Binding Path=Value}" HorizontalAlignment="Stretch" Foreground="{DynamicResource SilverBorderColorBrush}" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
此控件作为内容加载到选项卡中.托管选项卡的窗口可以调整大小,选项卡内容的最小大小为60.我要做的是让scrollviewer填充选项卡,但不要将选项卡推过窗口的边界.使用上面的XAML,多余的内容会导致选项卡高度扩展,并且窗口上出现滚动条,而不是Tab.
scrollviewer正在扩展到其子项的大小,因此将选项卡高度推出.我想要的是,将scrollviewer固定到选项卡的大小,并使scrollviewer中的内容在scrollviewer的范围内增长,以便在内容太多时显示滚动条.
我哪里错了?
编辑:
问题是高度,而不是宽度.宽度表现得如此.我已根据建议将包装器更改为网格,但除非我设置了Height属性,否则网格会扩展以适应展开的scrollviewer的内容,从而导致与以前相同的问题.
更新了XAML:
<Grid MinHeight="60" VerticalAlignment="Top">
<Border BorderBrush="{DynamicResource PanelBorder}" BorderThickness="1,1,1,1">
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Visible"
CanContentScroll="True"
BorderBrush="{DynamicResource PanelBorder}"
BorderThickness="1,1,1,1"
Background="{DynamicResource LightGradientBackgroundBrush}"
>
<ItemsControl …Run Code Online (Sandbox Code Playgroud) 我正在组合sox并lame生成一个新的音乐文件,但为了使用管道在一行上完成所有操作,似乎有必要"标记"输出并输入带有-字符的边界.我继承了这段代码,让我展示一下.
sox $DIRNAME/$BASENAME -e signed-integer -r 8000 -c 2 -t wav - trim $POSITIONS | lame -v -V4 --resample 8 - $DIRNAME/${NOEXT}.mp3
Run Code Online (Sandbox Code Playgroud)
的-之间wav并且trim是输出文件,和-之间--resample 8并$DIRNAME/${NOEXT}.mp3是输入文件.
我正在尝试找到关于此的更多信息,例如是否可以使用任何字符,或者是否-以这种方式特殊.这叫做什么,是什么让它起作用?
我试图弄清楚如何让 gradle 将一些 jar 文件部署到本地 maven 存储库中,以支持构建系统的其余部分。我对某些东西的依赖有它自己的依赖,jndi:jndi:1.2.1在 jcenter 或 maven central 中不可用。
我所做的(如我的依赖项的文档中所建议的 - Jira 的价值)已下载该jndi.jar文件,并运行以下命令:
mvn install:install-file -Dfile=lib/jndi.jar -DgroupId=jndi \
-DartifactId=jndi -Dversion=1.2.1 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
这很好用。但我希望 gradle 能够执行一个任务,将这个文件安装到本地 maven 存储库,使 CI 更容易,并使其他开发人员更容易入职。
我尝试遵循此处的建议(使用代码),但运气不佳。这是我的 build.gradle 的摘录:
apply plugin: 'java'
apply plugin: 'maven'
artifacts {
archives(file('lib/jndi.jar')) {
name 'jndi'
group 'jndi'
version '1.2.1'
}
archives(file('lib/jta-1_0_1B.jar')) {
name 'jta'
group 'jta'
version '1.0.1'
}
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'file://' + …Run Code Online (Sandbox Code Playgroud) 在php中我打开了一个.php文件,想要评估某些行.特别是当$ table_id和$ line变量赋值时.
在我的文本文件中:
...
$table_id = 'crs_class'; // table name
$screen = 'crs_class.detail.screen.inc'; // file identifying screen structure
...
Run Code Online (Sandbox Code Playgroud)
等等.下面的if语句从不检测$table_idor的出现$screen(即使没有$ prepended).我无法理解为什么它不起作用,因为下面的strpos语句寻找'require'工作正常.
那么,为什么这个if语句不会受到影响呢?
while ($line=fgets($fh)) {
//echo "Evaluating... $line <br>";
**if ((($pos = stripos($line, '$table_id')) === true) || (($pos = stripos($line, '$screen'))===true))**
{
// TODO: Not evaluating tableid and screen lines correctly fix.
// Set $table_id and $screen variables from task scripts
eval($line);
}
if (($pos=stripos($line, 'require')) === true) {
$controller = $line;
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚将我的请求库升级到 2.3.0(从 0.14.0),并且我的自定义身份验证不再有效。问题是我们使用的自定义身份验证将 API 密钥和时间戳附加到请求中,因此我们所有的辅助方法都不需要这样做。
class APIAuth(requests.auth.AuthBase):
def __call__(self, request):
api_secret = settings.API_SHARED_SECRET
api_key = settings.API_KEY
request.params.update(dict(
api_key=api_key,
timestamp=int(time.time()*1000)))
signature = base64.b64encode(hmac.new(
api_secret,
msg=unquote(request.full_url),
digestmod=hashlib.sha256
).digest()).decode()
request.headers['Authorization'] = "signature {0}".format(signature)
return request
Run Code Online (Sandbox Code Playgroud)
错误:
AttributeError: 'PreparedRequest' object has no attribute 'params'
Run Code Online (Sandbox Code Playgroud)
准备好的请求不允许修改 params dict,大概是因为它已经被构造了。是否有一种简单的方法可以从我们的自定义身份验证中更新 params dict 以保留任何现有的参数?还是我必须硬着头皮为每个请求方法添加这两个参数?
python ×3
django ×2
php ×2
sql-server ×2
admin ×1
asynchronous ×1
bash ×1
concurrency ×1
database ×1
deployment ×1
events ×1
gradle ×1
itemscontrol ×1
java ×1
maven ×1
netbeans ×1
performance ×1
pipe ×1
scrollviewer ×1
sqlite ×1
string ×1
unix ×1
vb.net ×1
wpf ×1