在迷你博客应用程序中,我想创建一个删除功能,以便博客的所有者可以删除他的条目(只有他的条目).我想这样做的唯一方法是使用表单.虽然我的删除代码似乎清晰正确,但它不起作用.我的代码:
def delete_new(request,id):
u = New.objects.get(pk=id).delete()
if request.method == 'POST':
form = DeleteNewForm(request.POST)
form.u.delete()
form.save()
return render_to_response('news/deleteNew.html', {
'form': form,
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
并在模板中:
<a href='/news/delete_new/{{object.id}}/'> Delete</a> <br />
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?我的意思是,为此创建一个表单?另外,获取与删除链接相关联的博客文章的唯一方法是将id作为参数.这样对吗?我的意思是,也许任何用户都可以在网址中键入另一个ID,并删除另一个条目(最终不是他的一个)
什么是Kotlin相当于Java的OuterClass.super.method()?
示例(在Java中):
class Outer {
class Inner {
void someMethod() {
Outer.super.someOtherMethod();
}
}
@Override
public String someOtherMethod() {
// This is not called...
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Django的命令来执行涉及数据库操作的一些任务:
class SomeCommand(BaseCommand):
@transaction.atomic
def handle(self, *args, **options):
# Some stuff on the database
Run Code Online (Sandbox Code Playgroud)
如果在执行程序期间抛出异常,则@transaction.atomic保证回滚.我可以强制执行此行为而不抛出异常吗?就像是:
# Doing some stuff, changing objects
if some_condition:
# ABANDON ALL CHANGES AND RETURN
Run Code Online (Sandbox Code Playgroud) 这是场景:
我正在尝试声明两个活动之间的过渡动画 - 主和细节。Master 是一个RecyclerView带有图像的列表,detail 是LinearLayout来自父列表的标题图像。转换在 XML 中声明并绑定到详细活动,如下所示:
<item name="android:windowSharedElementEnterTransition">@transition/activity_enter_shared</item>
<item name="android:windowEnterTransition">@transition/activity_enter</item>
Run Code Online (Sandbox Code Playgroud)
InRecyclerView的适配器转换是这样触发的:
final ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(
mContext,
imgView,
ViewCompat.getTransitionName(imgView)
);
mContext.startActivity(new Intent(mContext, ChildActivity.class), options.toBundle());
Run Code Online (Sandbox Code Playgroud)
问题是:@transition/activity_enter我正在应用fade一些布局元素(例如后退按钮)。这些元素放置在FrameLayout 图像上。这似乎会导致fade视图出现问题,而不是顺利出现在屏幕上,而是“弹出”。这仅在视图重叠时发生- 如果放置在LinearLayout所有内容中都按预期工作。
fade@transition/activity_enter像这样声明:
<fade
android:startDelay="300"
android:duration="100"
android:interpolator="@android:interpolator/linear">
<targets>
<target android:targetId="@id/target_id" />
</targets>
</fade>
Run Code Online (Sandbox Code Playgroud)
注 1 - 如果以编程方式触发Activity fade工作正常:
final ViewGroup frame = (ViewGroup) findViewById(R.id.frame);
frame.setOnClickListener(new View.OnClickListener() {
boolean visible; …Run Code Online (Sandbox Code Playgroud) 我正在尝试对大型稀疏观察矩阵执行分层聚类。该矩阵表示多个用户的电影评分。我的目标是根据他们的电影偏好对相似的用户进行聚类。但是,我需要一个树状图,而不是单一的部门。为了做到这一点,我尝试使用SciPy:
R = dok_matrix((nrows, ncols), dtype=np.float32)
for user in ratings:
for item in ratings[user]:
R[item, user] = ratings[user][item]
Z = hierarchy.linkage(R.transpose().toarray(), method='ward')
Run Code Online (Sandbox Code Playgroud)
这适用于小数据集:
但是,我(显然)在扩展时遇到内存问题。如果有什么办法可以将稀疏矩阵提供给算法?
我现在开始写我的第一个Django项目,我需要forms.py为应用创建文件。我看过一些教程将文件存储在项目的主文件夹下,而另一些则存储在app目录中。
如果我想制作仅适用于一个应用程序的表单,哪种布局最适合我?
是否可以制作多个文件来保存表单代码?
谢谢!
我有一个Site和相应的SiteDao:
@Dao
interface SiteDao {
@get:Query("SELECT * FROM site WHERE uid = 1 LIMIT 1")
val site: LiveData<Site>
@get:Query("SELECT * FROM site WHERE uid = 1 LIMIT 1")
val getSiteSync: Site
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(context: Site)
}
Run Code Online (Sandbox Code Playgroud)
这有效:
siteRepository.getSite().observe(activity, Observer<Site> {
// `it` is instance of Site, working as intended
})
Run Code Online (Sandbox Code Playgroud)
这不会:
Thread {
val site = siteRepository.getSiteSync()
// site is null
}.start()
Run Code Online (Sandbox Code Playgroud)
没关系,我使用的是Repository而不是ViewModel,只是一个例子。
知道为什么吗?
我的模型片段:
@NonNull
@ColumnInfo(name = "date")
@TypeConverters(TimestampConverter::class)
var date: Date? = null
Run Code Online (Sandbox Code Playgroud)
我的转换器:
class TimestampConverter {
@TypeConverter
fun fromTimestamp(value: Long?): Date? {
return if (value == null) null else Date(value)
}
@TypeConverter
fun dateToTimestamp(date: Date?): Long? {
return date?.time
}
}
Run Code Online (Sandbox Code Playgroud)
我的查询:
@get:Query("SELECT * FROM my_table ORDER BY date(date) DESC")
val all: LiveData<List<MyModel>>
Run Code Online (Sandbox Code Playgroud)
为什么Room不对我的数据进行排序?谢谢。
有没有更清晰、更惯用的方式来重写这个“检查、分配和返回”函数?
fun getX(): Y {
if (X == null) {
X = ...
}
return X!!
}
Run Code Online (Sandbox Code Playgroud)
编辑:我知道 Elvis 运算符,但问题是,尽管我可以使用语法糖节省几行
fun getX(): Y {
X = X ?: ...
return X!!
}
Run Code Online (Sandbox Code Playgroud)
我不会更改代码的语义。无论如何我都需要强制转换(!!)。所以是一样的,只是短了三行。
编辑:X是某个对象的属性,我需要更新它。
假设我正在实现一个矩阵,我想要我的结构使用scalar_t,哪里scalar_t可以float或double.
然后,假设我想扫描一些文本文件并将其加载到我的矩阵中:
// Inner loop:
fscanf(mdata, format, &m->data[i * m->cols + j]);
Run Code Online (Sandbox Code Playgroud)
如果scalar_t *是float *,format应该是"%f".如果是的double *话"%lf".
如何调整类型的格式scalar_t?我知道我可以比较sizeof但是有一般的解决方案吗?
django ×4
android ×3
kotlin ×3
android-room ×2
forms ×2
python ×2
animation ×1
c ×1
django-views ×1
object ×1
scipy ×1
session ×1
sqlite ×1
transition ×1