# index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="{%url 'index'%}" method="POST">
{% {% csrf_token %}
<label for="URL1">URL :</label>
<input type="text" name="URL" value="asdf"><br>
<input type="submit" value="전송">
<label for="">{{name_prop}} :</label>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
</form>
</body>
</html>
# views.py
from django.shortcuts import render
import requests
from bs4 import BeautifulSoup
from requests.exceptions import MissingSchema
# # Create your views here.
def index(request):
global http_post_request
url = request.POST.get('URL')
data = {'urname': "1', 'update':'update'} #update must be included;
cookies={'login':'test%2Ftest'}
http_post_request = requests.post(url, data=data, cookies=cookies)
print(http_post_request.text)
# error message
MissingSchema at /
Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 4.1.5
Exception Type: MissingSchema
Exception Value:
Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
Exception Location: C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py, line 390, in prepare_url
Raised during: main.views.index
Python Executable: C:\ProgramData\Anaconda3\python.exe
Python Version: 3.9.7
I'd like to enter a URL value in index.html and go to views.py to enter the url value and check the http_post_request.txt result value.
However, you have to enter the url value in index.html to run it on view.py.
I think view.py just runs right away, so the url value shows None.
What should we do in this case?
python django
I haven't tried django, so please refer to the below for detailed instructions.
https://docs.djangoproject.com/ko/4.1/intro/tutorial01/#creating-a-project
However, usually the backend in the web project structure, and in the case of the front, the URL is declared for the APIs provided in advance by the backend, and the front is called.
Therefore, you can choose the url of the view you want to call in advance and call it at the front desk.
© 2024 OneMinuteCode. All rights reserved.