我一直在关注这封信的官方文档,在这里尝试一些有关相关问题的建议,并且只是在网上进行搜索,而仍然无法运气加载一张小图片。
我有一个名为“ logo.png”的图像,我的项目层次结构如下所示:
project/
mysite/
app/
__init__.py
admin.py
models.py
urls.py
view.py
mysite/
__init__.py
settings.py
urls.py
views.py
wsgi.py
static/
logo.png
templates/
index.html
calling_image.html
Run Code Online (Sandbox Code Playgroud)
里面settings.py我有STATIC_URL = '/static/'
里面calling_image.html我有<img src="/static/logo.png">
我的模板calling_image.html由调用,project/mysite/app/views.py然后由调用project/mysite/app/urls.py,我什至尝试在我的末尾包括以下两行(如我所见几次)urls.py:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
Run Code Online (Sandbox Code Playgroud)
什么都没有,所以我做错了什么?
编辑:抱歉,我输入了一个类型,我在STATIC_URL = '/static/'中间用了斜杠settings.py,为了澄清起见,我正在使用python manage.py runserver
解决了:所以我最终自己解决了这个问题。我创建了一个目录resources内project/mysite/,并放置logo.png在那里。然后我开始STATICFILES_DIRS = (os.path.join(BASE_DIR, "resources"),)跑步collecstatic,一切正常!不需要使用urlpatterns += staticfiles_urlpatterns(),没什么。
因此,我是Spring的新手,到目前为止,我已经获得了一个连接到MongoDB数据库的简单Web API,但是我无法使用.jsp或.html文件生成普通的旧视图。我尝试了多种不同的方法:InternalResourceViewResolver,,XmlViewResolver返回String而不是ModelAndView对象,似乎没有任何用处。我有以下代码:
编辑:这是我的项目的git回购:https : //github.com/jwallp/Spring-Test
由于上面的项目是,我在转到时显示白色标签错误/index:
There was an unexpected error (type=Internal Server Error, status=500).
Circular view path [index]: would dispatch back to the current handler URL [/index] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
Run Code Online (Sandbox Code Playgroud)
编辑:因此,我设法通过使用spring.view.prefix和spring.view.suffix而不是spring.mvc.view.prefix诸如此类,以及通过将WEB-INF目录从项目根目录移到inside 来最终加载视图<project root>/src/main/webapp/。我只是想知道,如果我的WEB-INF目录包含在另一个目录中,它是否仍会按预期运行(使其内容不直接可见)?
我有一个简单的程序(或者我天真地认为)来亲眼看看'srand'和'rand'在一个名为“main.cpp”的文件中的随机性(以及均匀分布)和代码:
#include <iostream>
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main(int argc, char* argv[])
{
srand( time(NULL) );
int ra = 0;
for(int i=0; i < 9; i++)
{
ra = rand() % 5 + 1;
std::cout << ra << "\n";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我试图通过在终端中运行命令“gcc main.cpp”来运行程序,但我遇到了一些疯狂的编译错误:
Undefined symbols for architecture x86_64:
"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-d961c1.o
"std::__1::ios_base::getloc() const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, …Run Code Online (Sandbox Code Playgroud) 所以我只想打印已经加载的所有bean,我知道这个getBeanDefinitionNames()方法是很多人建议的.为此我明白你需要一个ApplicationContext我自动装配的,但是当我调用getBeanDefinitionNames()它时,我在对象上得到一个空指针异常:
package hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
public class BeansPrinter
{
@Autowired
private ApplicationContext appContext;
public void printBeans()
{
System.out.println("Number of beans:");
System.out.println(appContext.getBeanDefinitionCount());
String[] names = appContext.getBeanDefinitionNames();
for(String name : names)
{
System.out.println("-----------------");
System.out.println(name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
BeansPrinter b = new BeansPrinter();
b.printBeans();
}
}
Run Code Online (Sandbox Code Playgroud)