显示数据库数据的网址
url(r'^editinvoice/(?P<pk>\d+)/$',views.edit_invoice,name='editinvoice'),
重定向到此页面的template.html代码
<a href="{% url "editinvoice" pk=invoices.id %}">{{ invoices.invoice_number }}</a></td>
invoices.id
是上面数据库表的外键。
链接传递正确的pk并正确显示详细信息。但是,如果我只是更改url中的id,即使我不是与之相关的用户,我也可以看到信息。 只有当用户拥有该信息时,应该如何使用该信息才能登录用户。
答案 0 :(得分:1)
对于您的观看方法public class WeightCounter implements Runnable{
private ArrayList<Good> goodList = Main.goodList;
@Override
public void run() {
System.out.println("Thread 2 started");
for(int i = 0; i < 10; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException ie) {
throw AssertionError(ie);
}
int weightSum = 0;
synchronized(goodList){
for (Good g : goodList)
weightSum += g.getWeight();
}
System.out.println(weightSum);
}
}
}
,请使用edit_invoice
装饰器。
在该方法中,您将引发403错误:
@login_required
请参阅有关@login_required
的django文档。
另见django doc PermissionDenied。
修改强>
是的,#34;不存在&#34;更有意义。最常见的是提出404异常,就好像用户访问的网址不存在一样:
从django.http导入Http404 提高Http404