好的伙计们,我对这个很难过!
所以,我试图定期将txt文件的内容发布到网站上。 (IE每天更新文件并发布新文件)
我使用django作为框架,让一切工作.....几乎。关注这个问题: Periodically fetch data and display it with Django
我设置了视图,模板和网址,以便在加载页面时调用$ .ajax。那部分有效!如果我手动将页面加载到浏览器中,则数据会更新并正确显示。然而,自动化它一直存在问题。
如果我不得不猜测,我会说......出于某种原因,没有浏览器时没有调用$ .ajax。
这是requests.py代码:
public void printList() { // Or build the String and return if you don't
for(User u : myList) // want to display it here
System.out.println(format(u));
}
private String format(User u) {
return String.format(""%s%12s%12d", u.getFirstName(), u.getLastName(), u.getAge());
}
而且,$ .ajax请求来自:
import requests
login_url = "http://127.0.0.1:8000/login/"
soup_url = "http://127.0.0.1:8000/soups/pull/"
test_url = "http://127.0.0.1:8000/profiles/myusername"
UN = 'myusername'
PW = 'mypassword'
with requests.session() as client:
# get the login page
client.get(login_url)
# save session credentials
csrftoken = client.cookies['csrftoken']
login_data = {'username':UN,'password':PW,'csrfmiddlewaretoken': csrftoken}
# login
client.post(login_url, data=login_data)
client.get(test_url)
# get the page that loads $.ajax
client.get(soup_url)
我尝试将$ ajax请求从$(文档)中拉出来。以防万一这是问题...但得到了相同的结果。当我手动加载页面时,服务器输出如下内容:
{% extends "base.html" %}
{% block script %}
<script>
$(document).ready(function(){
function pullSoup(){
var token = "{{ csrf_token }}"
var soup_text = "{{ soup_text }}"
var soup_text = soup_text.replace(/&/gi, "&").replace(/"/gi, "\"").replace(/'/gi, "'").replace(/>/gi, ">").replace(/</gi, "<");
var formdata = "csrfmiddlewaretoken=" + token + "&content=" + soup_text
$.ajax({
url: "/api/chirp/create/",
data: formdata,
method: "POST",
success: function(data){
console.log(data)
console.log(formdata)
attachChirp(data, true)
},
error: function(data){
console.log("error")
console.log(data.statusText)
console.log(data.status)
}
})
}
pullSoup()
});
</script>
{% endblock script %}
{% block content %}
<p>you just pulled soup. unless you know what you're doing... you probably
should not do that again.</p>
{% endblock content %}
当我运行requests.py文件时,它会输出:
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[28/Mar/2018 01:39:33] "GET /soups/pull/ HTTP/1.1" 200 6478
[28/Mar/2018 01:39:35] "POST /api/chirp/create/ HTTP/1.1" 201 739
所以,它的退出代码为200,看起来很开心......除了帖子从未真正通过!我真的很感激任何想法/建议。我现在很有想法。谢谢!