小编kmy*_*pwn的帖子

将 Vue 与 Django 结合使用:如何将 publicPath 与静态文件前缀分开

我正在尝试将我现有的庞大 Django 项目(目前在前端的各个页面中使用来自 CDN 的 Vue)转换为通过 NPM 的 SPA,后端和前端现在是分开的(除了 Django 处理一些 URL 路由并加载Vue 最初)。

我遇到了静态文件和 URL 路由的问题。在 中vue.config.js,最初建议我设置值如下:

const pages = {
  index: "src/main.js"
};
module.exports = {
  runtimeCompiler: true,
  publicPath: "/static/vue/",
  outputDir: "./dist/static/vue/",
  indexPath: "../../templates/vue_index.html",
  pages: pages
};
Run Code Online (Sandbox Code Playgroud)

这样当与 Django 查找静态文件的方式结合起来时:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'frontend/dist/templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'frontend/dist/static')]
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)

该页面将能够加载。

不幸的是,如果我尝试加载页面,而不是在网站 root 加载/,它会在 …

django vue.js vue-cli

7
推荐指数
1
解决办法
924
查看次数

Facebook登录Swift后不会触发Segue

在此先感谢您的帮助!

我正在写一个快速的应用程序上实现facebook登录,我在登录完成后执行segue时遇到了一些麻烦.

作为FBSDKLoginButtonDelegate的一部分,我有两种方法:

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result:
 FBSDKLoginManagerLoginResult!, error: NSError!)
    {}
Run Code Online (Sandbox Code Playgroud)

func loginButtonDidLogOut(loginButton: FBSDKLoginButton!)
    {}
Run Code Online (Sandbox Code Playgroud)

登录按钮被正确地实施,我能够读取权限/ FB令牌,并通过这个到亚马逊Cognito.

但奇怪的是,我无法以编程方式将登录信息转换为不同的视图(控制器).

按下FB登录按钮将用户带到Web浏览器(Facebook SDK处理所有这些),然后进行登录.

如果我放置一个segue,如:

dispatch_async(dispatch_get_main_queue(), {
        self.performSegueWithIdentifier("segueLoginViewtoHome", sender: nil })
Run Code Online (Sandbox Code Playgroud)

在loginButton()中,它永远不会真正执行(即,当Web浏览器消失时,用户返回到具有登录按钮的视图,而不是segue想要的新视图).我相信该行在浏览器窗口返回到包含登录按钮(和segue)的视图之前执行,但我不知道如何告诉程序"等待"视图成为唯一一个活动且再次可见的视图执行segue.

我相信是这种情况,因为如果我将相同的segue代码放入loginButtonDidLogOut()中,那里不需要切换到浏览器,则在从"滑出"的工作表中按下"注销"后,segue执行得很好屏幕的底部.

此视图控制器已正确设置为委托,如下所示,如果编码在注销时发生,则segue正常运行.

任何帮助将不胜感激,为长期问题道歉,并谢谢!

facebook ios facebook-sdk-4.0 swift

5
推荐指数
1
解决办法
2642
查看次数

构建 Django Webapp 前端的“最佳”方式是什么?

提前致谢!这更像是一个“哲学”问题,然后是直接请求对代码的意见,尽管我非常感谢任何人对代码示例的意见。

从我记事起,我就一直是“传统”开发人员,现在我以数据科学家的身份从事专业工作。话虽如此,我从未真正接触过的一个前沿领域是 Web 开发。

对于我正在处理的项目,我需要构建(并且在一个稍微加快的时间范围内)一个外观漂亮的 Web 应用程序,其功能与 Wiki 网站有些相似(使用 Mediawiki 等现有代码库在这里不是一种选择,因此假设一切必须从头开始构建)。

在尝试以“正确的方式”做事时,我进行了如下设置:

  1. 构建的 Django 模型似乎正确捕获了 web 应用程序的数据关系结构,至少通过使用 Django 的管理门户进行测试
  2. Django 连接到 Postgres 数据库
  3. (1) 和 (2) 在 Docker 容器中运行

显然,这里剩下的最重要的部分是前端。我试图向几个朋友和熟人寻求建议,并被指出了 Bootstrap 的方向。

从这里开始,我承认,我有点卡住了。

我在 Django文档中看到不涉及任何 Javascript 的示例(看起来,HTML 页面可以通过最小的提升直接与数据库交互,使用看起来非常简单的“在此处插入占位符”逻辑,就像我一样通过 Django 模型设置它)。我在这里这里看到了类似的结构。

但后来我在网上看到了另一套关于如何制作功能性 webapp的指令——为 Django 模型创建序列化程序到 JSON,构建 REST api,使用 Javascript 编写前端页面逻辑并使用导入到 Javascript 中的库与手动构建的 API 交互以与后端交互。

现在,当然,“第一种”方法似乎要简单得多。第二个感觉就像是在重新发明轮子——如果我可以简单地使用像 一样的结构{{ num_books }},我为什么要构建所有这些 API 并担心 JSON?但我觉得很困惑。从长远考虑,是否有“正确”的选择?似乎我可以找到使用 Bootstrap 和采用这两种方法的其他框架的人。除非我采用 JSON/API 方法,否则我可以不使用 Javascript 代码吗?这还重要吗?这里真正的区别是什么?

在波涛汹涌的大海上使用指南针将不胜感激。当然,我不可能是第一个尝试用 Django …

django twitter-bootstrap django-rest-framework

3
推荐指数
1
解决办法
4316
查看次数

为什么将数组传递给另一个方法会改变原始数组?

在下面的代码中,调用swapBig(a,some number,somenumber),其中a是一个数组,被复制到swapBig()中的bleh [].当交换bleh []中的值时,[]中的相应值也会更改.为什么会发生这种情况,以及如何编写代码以便只修改bleh []而不是原始的a []?非常感谢!

public static void swapBig(String bleh[], int to, int from){ //switches data
    //Actually performing the swaps
    String temp;
    temp = bleh[to];
    bleh[to] = bleh[from];
    bleh[from] = temp;
}
public static void quickSort(String a[], String b[], String c[], String d[],
String e[],String f[], int from, int to){
    //performing the quickSort
    if (from >= to) return;
    int p = (from + to) / 2;
    int i = from;
    int j = to;
    while (i <= j){
        if …
Run Code Online (Sandbox Code Playgroud)

java arrays

1
推荐指数
1
解决办法
940
查看次数