django 项目前端小结
上次django环境已经搭好了,并且创建了agenda项目,http://127.0.0.1:8000/agenda 页面能打开了,现在丰富agenda项目的前端内容。
首先要有 前端相关的页面呀,脚本呀。
- Step1 创建模板目录,静态文件目录
我们的项目目录如下:
/home/wolf/Project/django/djangoproject
-----------djangoproject
----------------settings.py
----------------urls.py
----------------__init__.py 等
-------------agenda
---------------static
--------------------------images
--------------------------myCalendar.png
--------------------------js
--------------------------myCalendar.js
--------------------------style
--------------------------myCalendar.css
----------------templates
--------------------------calendar.html
----------------views.py
----------------urls.py
----------------modules.py
----------------apps.py
----------------admin.py
----------------__init__.py 等
- step2模板静态文件目录注册到setting
vi /home/wolf/Project/django/djangoproject/djangoproject/settings.py最后加上如下:
STATIC_URL = '/static/' STATIC_ROOT=os.path.join(BASE_DIR,'static') STATICFILES_DIRS = ( os.path.join(BASE_DIR,'agenda/static'), )
确保settings.py里有:
- step3为我们的calendar.html添加访问url,和对应view处理函数
vi --/Project/django/djangoproject/agenda/urls.py
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',views.index,name='index'), url(r'^calendar/$',views.calendar,name='calendar'), //////首页面 url(r'^deleteEvent/$',views.deleteEvent,name='deleteEvent'), ////////首页面里删除event的onclick方法 url(r'^addEvent/$',views.addEvent,name='addEvent'), ////////首页面里add event的onclick方法 ]
vi --/Project/django/djangoproject/agenda/views.py
def calendar(request): curEvents=[] for itr in range(6): strDate=str(1+2*itr)+'/5/2017' item = {'thisDay':strDate,'time':'06:00', 'title':'Hello'} curEvents.append(item) return render_to_response('mycalendar.html',{'events': curEvents}) @csrf_exempt def deleteEvent(request): if request.method == 'POST': for key in request.POST: print key data = {'response':'200','status':'ok'} return HttpResponse(json.dumps(data), content_type="application/json") @csrf_exempt def addEvent(request): if request.method == 'POST': for key in request.POST: print key data = {'response':'200','status':'ok'} return HttpResponse(json.dumps(data), content_type="application/json")
- step4:html里显示数据
{% for item in events %} <div class="events" data-date={{ item.thisDay }} data-time={{ item.time }} data-title={{ item.title }}></div> {% endfor %}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)