【发布时间】:2020-06-10 19:32:11
【问题描述】:
我是 Django 新手。我想使用视图文件中的自定义方法来管理我的数据库。例如,我有这段代码我想用 javascript 运行 - 我写了这段代码:
Js:
$.ajax({
type: 'POST',
url: '/ClassManager/',
data: {
data: data,
csrfmiddlewaretoken: csrftoken,
},
success: function() {
alert("IT WORKED")
},
error: function() {
alert('error');
}
})
views.py
def expfunc():
if request.method == 'POST':
user = User.objects.get(pk=1)
addlst = List(content = "list content", creator = user)
addlst.save()
urls.py
urlpatterns = [
path('ClassManager/', views.expfunc),
]
现在,问题是,对于我想在 views.py 中创建的每个新函数,我都需要在 urls.py 中添加另一行。
我的问题是 - 是否有办法使用所有自定义方法创建一个类,并使用一个 url 和不同的数据访问它们?
例如:
Js:
$.ajax({
type: 'POST',
url: '/ClassManager/functionone()',
data: {
data: data
csrfmiddlewaretoken: csrftoken,
},
success: function() {
alert("IT WORKED")
},
error: function() {
alert('error');
}
})
views.py
class DatabaseManager():
def functionone(): # add new list
if request.method == 'POST':
user = User.objects.get(pk=1)
addlst = List(content = "list content", creator = user)
addlst.save()
def functwo(): # update username
if request.method == 'POST':
user = User.objects.get(pk=1)
user.id = 9
user.save()
def functhree(): # update list content
if request.method == 'POST':
user = User.objects.get(pk=1)
mylist = List.objects.get(pk=1)
mylist.content = "updated list content"
mylist.save()
urls.py
urlpatterns = [
path('ClassManager/functionone()', views.DatabaseManager.functionone),
]
我来自 asp.net 背景,在那里我编写了带有运行查询的函数的类,以及我如何管理我的数据库,所以我可以在这里做同样的事情吗?
提前致谢!
【问题讨论】:
标签: javascript django ajax django-models django-templates