# [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')),
]
```