먼저 프로젝트에 대한 새 디렉터리를 만들고 해당 디렉터리에서 터미널을 엽니다. 그런 다음 다음 명령을 실행하여 프로젝트에 대한 새 가상 환경을 만듭니다.
# Windows의 경우:
virtualenv venv
# Linux의 경우:
python3 -m venv venv
다음 명령을 실행하여 가상 환경을 활성화합니다.
# Windows의 경우
venv/Scripts/activate
# Linux의 경우
source venv/bin/activate
다음으로 다음 명령을 실행하여 Flask를 설치합니다.
pip install Flask
프로젝트 디렉터리에 생성됨 app.py
라는 새 파일을 만들고 다음 코드를 추가하여 기본 Flask 애플리케이션을 설정합니다. app.py
并添加以下代码以设置基本的 Flask 应用程序:
from flask import Flask, request, redirect app = Flask(__name__) @app.route('/') def index(): return 'Welcome to the URL Shortener' if __name__ == '__main__': app.run(debug=True)
运行以下命令启动 Flask 开发服务器:
python app.py
在您的网络浏览器中访问http://localhost:5000
以查看“欢迎使用 URL 缩短器”消息。
接下来,我们会将原始 URL 及其相应的缩短 URL 存储在 Python 字典中。将以下代码添加到您的app.py
文件中:
url_map = {} @app.route('/shorten', methods=['POST']) def shorten_url(): original_url = request.form['url'] short_url = generate_short_url(original_url) url_map[short_url] = original_url return short_url def generate_short_url(original_url): # Generate a unique short URL for the original URL # (We'll implement this in the next step) pass
要生成唯一的短 URL,我们将使用哈希函数。哈希函数接受输入(在本例中为原始 URL)并返回固定长度的输出(短 URL)。我们将使用 SHA-1 哈希函数,它是 Pythonhashlib库的一部分。将以下代码添加到您的app.py文件中:
import hashlib def generate_short_url(original_url): hash = hashlib.sha1(original_url.encode()) short_url = hash.hexdigest()[:8] return short_url
最后,我们将添加一个路由,以便在用户访问缩短的 URL 时将用户重定向到原始 URL。将以下代码添加到您的app.py
@app.route('/<short_url>') def redirect_url(short_url): original_url = url_map.get(short_url) if original_url: return redirect(original_url
http://localhost:5000
를 클릭하여 "URL 단축기에 오신 것을 환영합니다" 메시지를 확인하세요. 🎜🎜2. 사전에 URL 저장 🎜🎜다음으로 원본 URL과 해당 단축 URL을 Python 사전에 저장합니다. app.py
파일에 다음 코드를 추가하세요: 🎜rrreee🎜 3. 고유한 단축 URL 생성 🎜🎜 고유한 단축 URL을 생성하려면 해시 함수를 사용합니다. 해시 함수는 입력(이 경우 원시 URL)을 취하고 고정 길이 출력(짧은 URL)을 반환합니다. Pythonhashlib 라이브러리의 일부인 SHA-1 해시 함수를 사용합니다. app.py 파일에 다음 코드를 추가합니다: 🎜rrreee🎜4. 원래 URL로 리디렉션🎜🎜마지막으로 사용자가 단축 URL을 방문할 때 원래 URL로 리디렉션하는 경로를 추가합니다. app.py
파일에 다음 코드를 추가하세요: 🎜rrreee위 내용은 Python Flask를 사용하여 효율적이고 간결한 URL 단축 서비스 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!