2014-12-29 13 views
1

Я хочу добавить в проект Django (с использованием рамки Django rest) новую функцию get. Я хочу, чтобы просто отправить мне в Json «Привет мир» без записи или без открытия таблицы в БД это мой код:Django rest framework api

@api_view() 
def about(request): 
    return Response({"message": "Hello, world!"}) 

я положил его в view.py , что еще я должен сделать это работать? , когда я запустить сервер и написать эти строки

http://127.0.0.1:8000/about 

я хочу, чтобы это увидел меня «{"message": "Hello, world!"}»

+0

И что у вас есть? – histrio

ответ

2

обновить вашу urls.py ':

urlpatterns = patterns('', 
    ... 
    url(r'^about/$', views.about), 
    ... 
+0

Спасибо! если я хочу отправить параметры моей функции, как я могу это сделать? – Dkova

+0

Учебники и документы - ваши друзья. https://docs.djangoproject.com/en/1.7/intro/tutorial03/ – histrio

1

Я думаю, вы должны зарегистрироваться URL-адрес до urls.py. А затем обновите settings.py.

Вот несколько инструкций для вас о раннем старте фрейма Django.

+0

да, я так и думал, но я не знал, как – Dkova

-2

Для отправки параметров вы можете добавить их в URL-адрес и запросить запрос.GET внутри вашей функции, даже вы можете сделать POST и запросить request.data внутри вашей функции.

ваш URL:/об/start_date = 2016/08/20 & end_date = 2016/08/21

def about(self, request, *args, **kwargs): 
    """" 
    Is called by a GET method. 
    ISO format: YYYY/MM/DD and in UTC. 
    """ 

    start_date_str = request.GET.get("start_date") 
    end_date_str = request.GET.get("end_date") 

    return Response({"message": "Hello, world!"}) 

Другой способ:

Ваш URL:/о/100/

urlpatterns = patterns('', 
... 
url(r'^about/(?P<object_pk>[0-9]+)/$', views.example), 
... 

def example(self, request, object_pk, *args, **kwargs): 
    """" 
    Is called by a GET method. 
    """ 
    # do something with your object 

    return Response({"message": "Hello, world!"}) 
+0

Этот ответ не совсем понятен, просьба указать более подробную информацию о том, что вы пытаетесь сказать. –