0

sorry for my noob question as I am just starting to learn Django. I would appreciate if someone could tell me how can i change data dynamically on page in django. Let me clear this:

What I want:

When url is http://localhost/data/1111, page data should be like data is 1111.

When url is http://localhost/data/2222, page data should be like data is 2222.

What I did:

def index(request):
    print(int(request.GET["data"]))          # for debugging only
    return HttpResponse("data of Page")

and url was:

path('<int:data>', views.index, name='index')
0

2 Answers 2

1

Since you have a value in your url, the <int:data> part, that needs to be captured by the view, which means your view function has to be aware of the extra parameter.

So, the correct view for this would be:

def index(request, data):
    print(data)  # data is already converted to int, since thats what you used in your url
    return HttpResponse(f"data is {data}")
Sign up to request clarification or add additional context in comments.

Comments

0

Since you don't want to pass query parameters in your url, change your url to look like this

path('data/', views.index, name='index')

def index(request):
   print(int(request.GET["data"])) # for debugging only
   return HttpResponse("data of Page")

Note that on GET['data'], data is not what is on the url pattern but rather it should be a input name on the form like <input name='amount' type='number' />

Now you can access amount like this

def index(request):
   print(int(request.GET["amount"])) # for debugging only
   return HttpResponse("data of Page")

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.