gpt4 book ai didi

django - 使用 Django 设置 Yeoman

转载 作者:行者123 更新时间:2023-12-03 21:19:09 24 4
gpt4 key购买 nike

有谁可以得到Yeoman与 Django 合作?
我已经尝试设置它,即使我将 grunt 文件更改为正确的路径,它仍然使用默认值。

我只搜索过,但没有人使用这种文件结构。

最佳答案

所以这是我在上面发表的一个非常愚蠢的评论。 :-)

这里有一个正确的回应! Yeoman 只是我们快速生成 css、js 和 html 文件的脚手架工具。我以完全分离的方式使用它,与 django 完全分离。

这是前端站点的树结构。

/Users/calvin/work/yeoman-test/
|~app/
| |~scripts/
| | |~controllers/
| | | `-main.js
| | |~vendor/
| | | |-angular.js
| | | |-angular.min.js
| | | |-es5-shim.min.js
| | | `-json3.min.js
| | `-app.js
| |~styles/
| | |-bootstrap.css
| | `-main.css
| |+views/
| |-.buildignore
| |-.htaccess
| |-404.html
| |-favicon.ico
| |-index.html
| `-robots.txt
|~test/
| |+spec/
| `+vendor/
|-.gitattributes
|-.npmignore
|-Gruntfile.js
|-package.json
`-testacular.conf.js

这是充当纯 json Web 服务的 django 应用程序的树结构。使用 django-tastypie。
/Users/calvin/work/yeomandjango/
|~deploy/
| |-crontab
| |-gunicorn.conf.py
| |-live_settings.py*
| |-nginx.conf
| `-supervisor.conf
|~requirements/
| `-project.txt
|+static/
|-.gitignore
|-.hgignore
|-__init__.py
|-__init__.pyc
|-dev.db
|-fabfile.py
|-local_settings.py
|-local_settings.pyc
|-manage.py*
|-settings.py
|-settings.pyc
|-urls.py
`-urls.pyc

通过从域和 URL 运行 django Web 服务,例如 http://service.mysite.com/api/v1/并让我们的前端自耕农生成“静态”站点 http://mysite.com根据需要调用这些 API url。

yeoman 生成的 AngularJS 应用程序只需 POSTS/GETS/PUTS/DELETES 由我们的 django-tastypie API 提供的 api 资源/url。

这是您可以考虑的松散耦合配置。

但是,请注意此设置正在执行“跨域 API 请求”。这意味着在我们的“服务器端”django 应用程序中,我们需要处理 CORS。

这是一个示例中间件片段,需要在 django 服务器端实现才能使其工作。
import re

from django.utils.text import compress_string
from django.utils.cache import patch_vary_headers

from django import http

try:
import settings
XS_SHARING_ALLOWED_ORIGINS = settings.XS_SHARING_ALLOWED_ORIGINS
XS_SHARING_ALLOWED_METHODS = settings.XS_SHARING_ALLOWED_METHODS
except:
XS_SHARING_ALLOWED_ORIGINS = '*'
XS_SHARING_ALLOWED_METHODS = ['POST','GET','OPTIONS', 'PUT', 'DELETE']


class XsSharing(object):
"""
This middleware allows cross-domain XHR using the html5 postMessage API.


Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE
"""
def process_request(self, request):

if 'HTTP_ACCESS_CONTROL_REQUEST_METHOD' in request.META:
response = http.HttpResponse()
response['Access-Control-Allow-Origin'] = XS_SHARING_ALLOWED_ORIGINS
response['Access-Control-Allow-Methods'] = ",".join( XS_SHARING_ALLOWED_METHODS )

return response

return None

def process_response(self, request, response):
# Avoid unnecessary work
if response.has_header('Access-Control-Allow-Origin'):
return response

response['Access-Control-Allow-Origin'] = XS_SHARING_ALLOWED_ORIGINS
response['Access-Control-Allow-Methods'] = ",".join( XS_SHARING_ALLOWED_METHODS )

return response

关于django - 使用 Django 设置 Yeoman,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com