- 创建实际数据,先填写的是不含外键的model。然后是带外键的模型。
- objects.get(pk=1), 与 objects.filter(pk=1), 查查看是什么区别, 反正尽量是用get( pk =1)
- 理清一个关系:author 是 thought 的外键, thought的内容(作为一个API),可以被 author取到。一对多的关系中,需要把 一 加入到多的 实体中,把 一 作为 多的一个属性。
- urlpatterns里面,用 articles/, 而不是 /articles 结尾一定要有斜杠,开头不需要斜杠
- 改进url 函数:
先在app/urls.py ,加入 app_name= ' ', 然后使用 url 函数,这样写:
{% url 'appname: viewMethod' some_id %}, 后期更具拓展性。
- django 文件和图片上传功能的实现:
1. upload_to='images/',这个斜线一定不能缺少,不然不是一个路径。
2. 一定先在settings里面设置好media_root, media_url
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'coolSite/media/')
3. 然后 proj/urls.py 里面加入这样一行(还要导包):
['urlpatterns'] \+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
4. form 里面要记得使用 ModelForm,及其Meta
5. views。直接就save().干脆利索。45是配套使用的。
6. 修改上传的文件名(在models.py--upload_to()里面处理) # 这一步未完成。
- 一句名言(来自官方文档):
You should know basic math before you start using a calculator.
- <img src="{{ n.image.url }}"> 这样就能显示图片。前提是使用了ModelForm 来保存图片。
- datetime.timedelta(days=1) 就是一个时间段,指的是一天,5个小时这样的时间段。
- TemplateDoesNotExist at /about/ 正确的解决办法是:{% extends 'app/base.html' %}, 前面需要加app/
- 添加链接的方式是这样的: <a href="{% url 'diary:new_note' %}, 使用一个冒号+函数名