我最近在一家拥有庞大代码库的科技公司开始实习,目前正试图从前端(用JS编写)中提取一个值并将其传递给应用程序的后端(用Django编写)。我可以成功访问前端的值,但现在我不确定这个JS在后端与哪个文件关联,所以我不知道如何将它传递给后端。是否有建议的方法来解决这个问题?对不起这样一个业余的问题,但这对我来说都很新鲜,我很困惑!
答案 0 :(得分:1)
在django中,用于将数据发送到(通过POST / GET)或导航到(通过浏览器)的URL端点(路由)在名为urls.py
的文件中指定。有一个主urls.py
文件位于包含settings.py
和wsgi.py
的文件夹中,它包含将请求的URL映射到其他urls.py
文件的代码。其他urls.py
文件将请求的URL映射到views.py
中定义的函数,这些函数呈现页面或处理数据提交(它们可能在其他框架中被称为'控制器')。
根据您当前的网址,查看从主urls.py
开始的每个urls.py
文件,直至找到网址映射到的views.py
文件。
例如,如果我当前的网址为/profile
# MyApp/urls.py (note the include('profile.urls') argument)
urlpatterns = patterns('',
url(r'^profile/', include('profile.urls'), name='profile'),
...
)
# profile/urls.py
from profile import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'), # /profile (this url is matched)
url(r'^ajax/$', views.ajax, name='ajax'), # /profile/ajax
url(r'^user/$', views.user, name='user') # /profile/user
)
# profile/views.py
def index(request):
context = RequestContext(request)
context_dict = {
'user':request.user,
'numCheckIns':Event.objects.filter(CheckedInParticipants__id=request.user.id).count,
'numCommits':Event.objects.filter(participants__id=request.user.id).count,
'gameLog': Event.objects.filter(checkedInParticipants__id=request.user.id)
}
return render_to_response('profile/index.html', context_dict, context)
def ajax(request):
if request.method == 'POST':
...
def user(request):
...
与/profile
处的渲染视图相关联的文件可以追溯到profile/views.py
,并且执行的函数称为index
。