DjangoCon Europe 2027 将于 2027 年 2 月 17—21 日在奥地利因斯布鲁克举行。根据本次公告,演讲征集(Call for Proposals,CFP)已经开放,门票也已开售。
对 Django 开发者来说,这不仅是一次听技术分享的机会,也是把项目经验带回社区、认识维护者与同行的入口。现在可以开始准备的,不只是行程,还有一个值得讨论的问题。
五天社区活动,参与不止一种方式
DjangoCon Europe 由社区志愿者组织,面向开发者、贡献者、新人以及长期参与社区的成员。公告将这五天定位为围绕 Django、Python 与社区的交流活动,但没有公布具体日程,因此不要把某一天预设为演讲日或冲刺贡献日。
目前公布的参与入口包括:
- 参会:门票已经开售,可以着手评估时间与预算。
- 投稿:CFP 已开放,欢迎深入技术主题、项目实践教训以及有益于社区的想法。
- 志愿服务:无论第一次参会还是长期社区成员,都可以报名参与。
- 赞助:企业可以通过资金支持会议,并获得 Django 社区中的曝光机会。
公告没有提供票价、投稿截止日期或详细议程。这些信息需要关注会议后续更新,不能仅凭举办日期倒推出安排。
投稿准备:把“我们做过”变成“别人能学会”
公告欢迎分享使用 Django 构建项目时积累的经验。可以这样实践:从一个具体工程问题入手,而不是直接写“Django 最佳实践”。
例如,以下方向可以作为选题草稿,它们不是已经公布的会议议题:
| 宽泛方向 | 更具体的分享切口 |
|---|---|
| ORM 性能 | 一次列表接口查询膨胀的定位过程,以及优化前后的查询数量 |
| 数据库迁移 | 大表字段变更如何拆分发布,失败时如何回退 |
| 测试 | 如何让依赖权限、时区和事务的测试保持稳定 |
| 社区贡献 | 从复现一个问题,到提交可验证的补丁 |
一个实用的提案草稿可以回答四个问题:
- 你遇到了什么问题?
- 为什么常见做法没有解决它?
- 你用什么证据验证改进?
- 听众回到项目后能采取什么行动?
涉及客户数据、生产日志或安全缺陷时,先做脱敏并确认披露权限。真实案例有价值,但不应以泄露敏感信息为代价。
可以这样实践:用 Python 生成会议日历提醒
下面的示例不是会议官方工具,而是一个本地准备脚本。它只使用 Python 标准库,生成可导入日历软件的 .ics 文件,记录公告中的会议日期。
运行前可修改 OUTPUT,指定文件保存位置。脚本会覆盖同名文件;默认不包含场馆、具体时段或提前提醒,也不会替你订票。
from pathlib import Path
from uuid import uuid4
from datetime import datetime, timezone
OUTPUT = Path("djangocon-europe-2027.ics")
lines = [
"BEGIN:VCALENDAR",
"VERSION:2.0",
"PRODID:-//Personal Conference Planner//EN",
"CALSCALE:GREGORIAN",
"BEGIN:VEVENT",
f"UID:{uuid4()}@personal-planner",
f"DTSTAMP:{datetime.now(timezone.utc):%Y%m%dT%H%M%SZ}",
"DTSTART;VALUE=DATE:20270217",
"DTEND;VALUE=DATE:20270222",
"SUMMARY:DjangoCon Europe 2027",
"LOCATION:Innsbruck\\, Austria",
"DESCRIPTION:Check conference updates for the detailed schedule.",
"END:VEVENT",
"END:VCALENDAR",
]
OUTPUT.write_bytes(("\r\n".join(lines) + "\r\n").encode("utf-8"))
print(f"Created: {OUTPUT.resolve()}")
保存为 make_calendar.py,然后运行:
python3 make_calendar.py
这里的 DTEND 使用 2 月 22 日并不是把会议延长了一天:iCalendar 的全天事件结束日期是排他的,所以它表示活动覆盖 2 月 17—21 日。
导入后,再根据官方后续信息单独补充投稿截止日期、出行和住宿提醒。不要用会议开始日期代替这些不同的时间节点。
现在值得做的三件事
- 想参会:核对门票条件、交通与住宿预算,以及适用的入境要求;非退款支出前先确认相关安排。
- 想投稿:写出问题、证据和听众收获,再按实际 CFP 要求调整格式。
- 想贡献:评估自己能投入的时间,了解志愿服务或赞助的具体要求。
日期和城市已经明确,详细内容仍会继续更新。最稳妥的准备方式,是先锁定时间、整理经验,再随着官方信息完善计划。
English version
DjangoCon Europe 2027 in Innsbruck: Plan Your Visit, Proposal, and Contribution
DjangoCon Europe 2027 will take place in Innsbruck, Austria, from February 17–21, 2027. According to the announcement, the Call for Proposals is open and tickets are on sale.
For Django developers, the event offers more than a chance to attend talks. It is an opportunity to share lessons from real projects, meet other community members, and contribute. Preparation can start with a useful question to discuss—not just a travel itinerary.
Five days of community, with several ways to participate
DjangoCon Europe is organized by community volunteers and brings together developers, contributors, newcomers, and long-time community members. The announcement describes five days of Django, Python, and community, but does not provide a detailed schedule. Do not assume particular days are reserved for talks or contribution sprints.
The announced ways to get involved are:
- Attend: Tickets are on sale, so you can begin assessing your availability and budget.
- Submit a proposal: The CFP welcomes technical topics, lessons from building with Django, and ideas that could benefit the community.
- Volunteer: Both first-time attendees and established community members are welcome to sign up.
- Sponsor: Companies can support the conference financially and gain visibility within the Django community.
Ticket prices, proposal deadlines, and the detailed program are not included in the supplied announcement. Check subsequent conference updates rather than inferring these details from the event dates.
Turn project experience into something others can use
The announcement explicitly welcomes lessons learned while building with Django. A practical approach is to start with a specific engineering problem rather than a broad “Django best practices” pitch.
These are possible proposal directions, not announced conference sessions:
| Broad topic | A more concrete angle |
|---|---|
| ORM performance | Investigating excessive queries in a list endpoint, with before-and-after query counts |
| Database migrations | Splitting a large-table schema change across releases and planning recovery |
| Testing | Keeping tests reliable when permissions, time zones, and transactions interact |
| Community contributions | Moving from a reproducible issue to a verifiable patch |
A useful proposal draft answers four questions:
- What problem did you encounter?
- Why did the usual approach fall short?
- What evidence showed that your changes helped?
- What can attendees do differently in their own projects?
Before using customer data, production logs, or security findings, remove sensitive details and confirm that disclosure is permitted. A compelling case study should not come at the expense of confidentiality.
Practical example: Generate a calendar entry with Python
The following is a personal planning script, not an official conference tool. It uses only the Python standard library to generate an .ics file containing the announced event dates.
Change OUTPUT if you want a different destination. The script overwrites an existing file with the same name. It does not include a venue, session times, or advance alerts, and it does not book a ticket.
from pathlib import Path
from uuid import uuid4
from datetime import datetime, timezone
OUTPUT = Path("djangocon-europe-2027.ics")
lines = [
"BEGIN:VCALENDAR",
"VERSION:2.0",
"PRODID:-//Personal Conference Planner//EN",
"CALSCALE:GREGORIAN",
"BEGIN:VEVENT",
f"UID:{uuid4()}@personal-planner",
f"DTSTAMP:{datetime.now(timezone.utc):%Y%m%dT%H%M%SZ}",
"DTSTART;VALUE=DATE:20270217",
"DTEND;VALUE=DATE:20270222",
"SUMMARY:DjangoCon Europe 2027",
"LOCATION:Innsbruck\\, Austria",
"DESCRIPTION:Check conference updates for the detailed schedule.",
"END:VEVENT",
"END:VCALENDAR",
]
OUTPUT.write_bytes(("\r\n".join(lines) + "\r\n").encode("utf-8"))
print(f"Created: {OUTPUT.resolve()}")
Save it as make_calendar.py and run:
python3 make_calendar.py
The February 22 DTEND value does not add an extra conference day. All-day events in iCalendar use an exclusive end date, so this entry covers February 17–21.
After importing the file, add separate reminders for the proposal deadline, travel, and accommodation once those details are confirmed. The conference start date is not a substitute for these separate deadlines.
Three useful next steps
- Planning to attend: Review ticket conditions, transport and accommodation costs, and applicable entry requirements before committing to nonrefundable expenses.
- Planning to speak: Draft the problem, supporting evidence, and audience takeaway, then adapt the proposal to the actual CFP requirements.
- Planning to contribute: Decide how much time you can offer and review the specific volunteer or sponsorship arrangements.
The dates and city are confirmed; further details will follow. Reserve the time, gather your project lessons, and refine your plans as official updates arrive.
English SEO description
DjangoCon Europe 2027 comes to Innsbruck on February 17–21. Explore participation options, proposal tips, and a Python calendar example.