各位大佬好,
首先感谢各位大佬能够点开这个弱鸡问题,因为确实挺基础的,让您能花时间看我问什么问题,极有可能会浪费掉您部分宝贵的时间,故而首先致敬🫡
自己一直在断断续续地自学 Python ,主要是跟着经典入门书籍《 Python 编程:从入门到实践(第 2 版)》在学习。在此之前毫无 coding 的任何基础,加之年纪又上来了,进度奇慢无比,对很多基础的东西理解起来似乎并不容易。目前学到第 19 章,在跟着书籍敲代码的过程中,对_
和.
的使用区别愈发显得迷惑。
比如下面这段示例代码中,同样是获取topic_id
,但是为啥new_entry
中是使用的topic_id=topic_id
,但是在edit_entry
中就变成了topic_id=topic.id
?
这个问题网上搜了一圈,没有找到答案,实在是抱歉,要请各位大佬指点迷津!感谢!
def new_entry(request, topic_id):
"""add new post in topic"""
topic = Topic.objects.get(id=topic_id)
if request.method != 'POST':
# data not submitted: create new entry form
form = EntryForm()
else:
# POST submitted data: process the data
form = EntryForm(data=request.POST)
if form.is_valid():
new_entry = form.save(commit=False)
new_entry.topic = topic
new_entry.save()
return redirect('learning_logs:topic', topic_id=topic_id)
context = {'topic': topic, 'form': form}
return render(request, 'learning_logs/new_entry.html', context)
def edit_entry(request, entry_id):
"""edit current entry"""
entry = Entry.objects.get(id=entry_id)
topic = entry.topic
if request.method != 'POST':
# first time: use the as-is item to fill form
form = EntryForm(instance=entry)
else:
# POST submitted data: process the data
form = EntryForm(instance=entry, data=request.POST)
if form.is_valid():
form.save()
return redirect('learning_logs:topic', topic_id=topic.id)
context = {'entry': entry, 'topic': topic, 'form': form}
return render(request, 'learning_logs/edit_entry.html', context)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.