如何判断哪些后端文件与前端文件关联?

时间:2016-01-22 23:39:15

标签: javascript django frontend backend codebase

我最近在一家拥有庞大代码库的科技公司开始实习,目前正试图从前端(用JS编写)中提取一个值并将其传递给应用程序的后端(用Django编写)。我可以成功访问前端的值,但现在我不确定这个JS在后端与哪个文件关联,所以我不知道如何将它传递给后端。是否有建议的方法来解决这个问题?对不起这样一个业余的问题,但这对我来说都很新鲜,我很困惑!

1 个答案:

答案 0 :(得分:1)

在django中,用于将数据发送到(通过POST / GET)或导航到(通过浏览器)的URL端点(路由)在名为urls.py的文件中指定。有一个主urls.py文件位于包含settings.pywsgi.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