# [React x Django] 後端環境架設 --- ## virtualenv無法使用 →要用sudo 安裝才有權限可以開 1. 把舊的先卸載 `pip uninstall virtualenv` 2. 用sudo 安裝 `sudo pip install virtualenv` --- 1. 回到程式碼上層(跟frontend同一層級) 2. ```pip install virtualenv``` 3. ```virtualenv eshopenv```會在此層建立一個```eshopenv```的virtual env * windows:`python -m virtualenv eshopenv` ![](https://i.imgur.com/pJpEdJT.png) 4. 啟動方式: for macOS: ```source ./eshopenv/bin/activate``` for Windows: ```eshop\scripts\activate``` 5. ```pip list```:列出目前環境中有的套件 6. ```pip install django``` 7. ```django-admin startproject backend```建立Django資料夾名為```backend``` ![](https://i.imgur.com/NueD5YW.png) 8. ```cd backend``` ```python manage.py runserver``` 啟動Django Server 9. 確保在```backend```資料夾 ```python manage.py startapp base```建立我們的app,名為 base 10. 在```setting.py```註冊我們的app ```python= INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'base.apps.BaseConfig', ] ``` 11. 在views.py開始我們的邏輯撰寫: ```python= from django.shortcuts import render from django.http import JsonResponse # Create your views here. def getRoutes(request): return JsonResponse('Hello', safe = False) ``` 12. 在base資料夾中新增一個```urls.py``` 配置我們function的路徑 ```python= from django.urls import path from . import views urlpatterns =[ path('', views.getRoutes, name="routes"), ] ``` 13. 還需要讓我們的Django可以找到這base這裡來,所以我們要在project資料夾的urls.py告訴他 ```backend/urls.py``` ```python= from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('base.urls')), ] ```